루트 요소에 xmlns를 포함하도록 XslCompiledTransform을 얻는 방법은 무엇입니까?

markf78

XslCompiledTransform C # 클래스를 사용하여 하나의 xml 파일을 다른 파일로 변환하려고합니다. 그러나 xmlns 속성은 전송되지 않습니다.

내 코드 :

XmlReader reader = XmlReader.Create("machine1.xml");
XmlWriter writer = XmlWriter.Create("machine2.xml");

XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("transform.xsl");

transform.Transform(reader, writer);

XSLT :

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns="http://schemas.datacontract.org/2004/07/CMachines" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <!-- Copy everything not subject to the exceptions below -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>
  <!-- Ignore the disabled element -->
  <xsl:template match="Disabled" />
</xsl:stylesheet>

입력:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMachine xmlns="http://schemas.datacontract.org/2004/07/CMachines" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Machine>
      <Name>DellM7600</Name>
      <ID>1</ID>
      <Type>Laptop</Type>
      <Disabled>false</Disabled>
      <SerialNum>47280420</SerialNum>
    </Machine>
    <Machine>
      <Name>DellD600</Name>
      <ID>2</ID>
      <Type>Laptop</Type>
      <Disabled>false</Disabled>
      <SerialNum>53338123</SerialNum>
    </Machine>
    </ArrayOfMachine>

이것은 실제 출력입니다.

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMachine xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CMachines" >
    <Machine>
      <Name>DellM7600</Name>
      <ID>1</ID>
      <Type>Laptop</Type>
      <Disabled>false</Disabled>
      <SerialNum>47280420</SerialNum>
    </Machine>
    <Machine>
      <Name>DellD600</Name>
      <ID>2</ID>
      <Type>Laptop</Type>
      <Disabled>false</Disabled>
      <SerialNum>53338123</SerialNum>
    </Machine>
    </ArrayOfMachine>

다음은 원하는 출력입니다.

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMachine xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CMachines" >
    <Machine>
      <Name>DellM7600</Name>
      <ID>1</ID>
      <Type>Laptop</Type>
      <SerialNum>47280420</SerialNum>
    </Machine>
    <Machine>
      <Name>DellD600</Name>
      <ID>2</ID>
      <Type>Laptop</Type>
      <SerialNum>53338123</SerialNum>
    </Machine>
    </ArrayOfMachine>
팀 C

이전 xpath-default-namespace에 XSLT 1.0에서 지원되지 않는 XSLT에서 사용하려고했습니다 .

대신 XML에 지정된 네임 스페이스에 바인딩 된 네임 스페이스 접두사를 사용하여 해당 네임 스페이스에있는 Disabled요소 와 일치 해야합니다.

이 XSLT 시도

<xsl:stylesheet version="1.0" xmlns:cm="http://schemas.datacontract.org/2004/07/CMachines" 
                              xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <!-- Copy everything not subject to the exceptions below -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>
  <!-- Ignore the disabled element -->
  <xsl:template match="cm:Disabled" />
</xsl:stylesheet>

사용 된 네임 스페이스 접두사는 네임 스페이스 URI가 일치하는 한 임의적입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL Server-FOR XML PATH : xmlns : xsd를 루트 요소에 추가하는 방법은 무엇입니까?

분류에서Dev

xmlns 속성을 루트 요소에 추가하는 방법은 무엇입니까?

분류에서Dev

루트 요소에 속성을 지정하는 방법은 무엇입니까?

분류에서Dev

이 iptables 규칙을 모든 포트를 포함하도록 편집하는 방법은 무엇입니까?

분류에서Dev

32 비트 및 64 비트를 포함하도록 RegAsm을 수행하는 방법은 무엇입니까?

분류에서Dev

포트로 IP 주소를 얻기 위해 목록을 연결하는 방법은 무엇입니까?

분류에서Dev

Sublime Text 3에 둘러싸는 요소를 포함하도록 선택을 확장하는 방법은 무엇입니까?

분류에서Dev

type = radio를 포함하는 div 블록에서 모든 요소를 얻는 방법은 무엇입니까?

분류에서Dev

XDocument에서 루트가 아닌 노드의 xmlns 속성을 제거하는 방법은 무엇입니까?

분류에서Dev

Delphi : gzip을 포함하도록 TWebResponse를 설정하고 Android 앱에서 읽는 방법은 무엇입니까?

분류에서Dev

element.querySelector ()에 루트 요소를 포함시키는 방법은 무엇입니까?

분류에서Dev

Android에서 DOM을 사용하여 하위 요소를 루트 요소에 추가하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 루트 요소의 모든 키-값을 얻는 방법은 무엇입니까?

분류에서Dev

WebDriverWait을 사용하여 다른 요소 셀레늄에서 요소를 얻는 방법은 무엇입니까?

분류에서Dev

요소가 하나 이상 포함 된 목록에서 벡터 수를 얻는 방법은 무엇입니까?

분류에서Dev

웹 컴포넌트, ID로 요소를 얻는 방법은 무엇입니까?

분류에서Dev

jsoup을 사용하여 요소의 일부가 아닌 텍스트를 얻는 방법은 무엇입니까?

분류에서Dev

jsoup을 사용하여 요소의 일부가 아닌 텍스트를 얻는 방법은 무엇입니까?

분류에서Dev

vuejs v3의 루트 앱 구성 요소에 소품을 전달하는 방법은 무엇입니까?

분류에서Dev

루트 요소에는 여러 셀이 있지만 자식 요소는 단일 셀만 있도록 TreeViewer를 구현하는 방법은 무엇입니까?

분류에서Dev

각도 8의 객체에서 색인을 얻고 요소를 삭제하는 방법은 무엇입니까?

분류에서Dev

PowerShell을 사용하여 XML 요소를 얻는 방법은 무엇입니까?

분류에서Dev

동일한 요소를 포함하는 다른 목록에서 한 목록의 요소 색인을 찾는 방법은 무엇입니까?

분류에서Dev

mkv 비디오에 포함 된 두 자막을 모두 표시하도록 VLC를 얻는 방법은 무엇입니까?

분류에서Dev

생성 된 실행 파일에 SVN 작업 복사본 속성을 포함하도록 PyInstaller를 얻는 방법은 무엇입니까?

분류에서Dev

루트 요소 값을 찾는 방법은 무엇입니까?

분류에서Dev

JAXB에서 마샬링하는 동안 루트 요소 주석을 피하는 방법은 무엇입니까?

분류에서Dev

Cypress에서 텍스트를 포함하는 요소를 계산하는 방법은 무엇입니까?

분류에서Dev

NgComponent : DOM 요소에서 컴포넌트 인스턴스를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    SQL Server-FOR XML PATH : xmlns : xsd를 루트 요소에 추가하는 방법은 무엇입니까?

  2. 2

    xmlns 속성을 루트 요소에 추가하는 방법은 무엇입니까?

  3. 3

    루트 요소에 속성을 지정하는 방법은 무엇입니까?

  4. 4

    이 iptables 규칙을 모든 포트를 포함하도록 편집하는 방법은 무엇입니까?

  5. 5

    32 비트 및 64 비트를 포함하도록 RegAsm을 수행하는 방법은 무엇입니까?

  6. 6

    포트로 IP 주소를 얻기 위해 목록을 연결하는 방법은 무엇입니까?

  7. 7

    Sublime Text 3에 둘러싸는 요소를 포함하도록 선택을 확장하는 방법은 무엇입니까?

  8. 8

    type = radio를 포함하는 div 블록에서 모든 요소를 얻는 방법은 무엇입니까?

  9. 9

    XDocument에서 루트가 아닌 노드의 xmlns 속성을 제거하는 방법은 무엇입니까?

  10. 10

    Delphi : gzip을 포함하도록 TWebResponse를 설정하고 Android 앱에서 읽는 방법은 무엇입니까?

  11. 11

    element.querySelector ()에 루트 요소를 포함시키는 방법은 무엇입니까?

  12. 12

    Android에서 DOM을 사용하여 하위 요소를 루트 요소에 추가하는 방법은 무엇입니까?

  13. 13

    C #을 사용하여 루트 요소의 모든 키-값을 얻는 방법은 무엇입니까?

  14. 14

    WebDriverWait을 사용하여 다른 요소 셀레늄에서 요소를 얻는 방법은 무엇입니까?

  15. 15

    요소가 하나 이상 포함 된 목록에서 벡터 수를 얻는 방법은 무엇입니까?

  16. 16

    웹 컴포넌트, ID로 요소를 얻는 방법은 무엇입니까?

  17. 17

    jsoup을 사용하여 요소의 일부가 아닌 텍스트를 얻는 방법은 무엇입니까?

  18. 18

    jsoup을 사용하여 요소의 일부가 아닌 텍스트를 얻는 방법은 무엇입니까?

  19. 19

    vuejs v3의 루트 앱 구성 요소에 소품을 전달하는 방법은 무엇입니까?

  20. 20

    루트 요소에는 여러 셀이 있지만 자식 요소는 단일 셀만 있도록 TreeViewer를 구현하는 방법은 무엇입니까?

  21. 21

    각도 8의 객체에서 색인을 얻고 요소를 삭제하는 방법은 무엇입니까?

  22. 22

    PowerShell을 사용하여 XML 요소를 얻는 방법은 무엇입니까?

  23. 23

    동일한 요소를 포함하는 다른 목록에서 한 목록의 요소 색인을 찾는 방법은 무엇입니까?

  24. 24

    mkv 비디오에 포함 된 두 자막을 모두 표시하도록 VLC를 얻는 방법은 무엇입니까?

  25. 25

    생성 된 실행 파일에 SVN 작업 복사본 속성을 포함하도록 PyInstaller를 얻는 방법은 무엇입니까?

  26. 26

    루트 요소 값을 찾는 방법은 무엇입니까?

  27. 27

    JAXB에서 마샬링하는 동안 루트 요소 주석을 피하는 방법은 무엇입니까?

  28. 28

    Cypress에서 텍스트를 포함하는 요소를 계산하는 방법은 무엇입니까?

  29. 29

    NgComponent : DOM 요소에서 컴포넌트 인스턴스를 얻는 방법은 무엇입니까?

뜨겁다태그

보관