2017-05-08 192 views
0

我正嘗試使用XSLT將xml文件轉換爲另一個文件。由於我是一個相當新手,請幫助我創建xslt以將輸入xml文件轉換爲輸出xml文件。 在此先感謝。使用XSLT將XML文件轉換爲另一個XML文件

輸入XML

<?xml version="1.0" encoding="UTF-8"?> 
<title> 
    <subtitle1> 
     <OrganizationDetails> 
      <OrgName>qwe</EmpNumber> 
      <OrgAddress>asdfg 123</EmpName> 
     </OrginzationDetails > 
    </subtitle1> 
    <subtitle2> 
     <ResourceDetails> 
      <EmpNumber>1</EmpNumber> 
      <EmpName>xyz</EmpName> 
     </ResourceDetails> 
     <ResourceDetails> 
      <EmpNumber>2</EmpNumber> 
      <EmpName>abc</EmpName> 
     </ResourceDetails> 
     <ResourceDepartment> 
      <EmpNumber>1</EmpNumber> 
      <DepartmentNo>IT</DepartmentNo> 
     </ResourceDepartment> 
     <ResourceDepartment> 
      <EmpNumber>2</EmpNumber> 
      <DepartmentNo>SALES</DepartmentNo> 
     </ResourceDepartment> 
    </subtitle2> 
</title> 

預期輸出XML

<?xml version="1.0" encoding="UTF-8"?> 
<title> 
    <subtitle1> 
     <OrginzationDetails> 
      <OrgName>qwe</EmpNumber> 
      <OrgAddress>asdfg 123</EmpName> 
     </OrginzationDetails > 
    </subtitle1> 
    <subtitle2> 
     <ResourceDetails> 
      <EmpNumber>1</EmpNumber> 
      <EmpName>xyz</EmpName> 
     </ResourceDetails> 

     <ResourceDepartment> 
      <EmpNumber>1</EmpNumber> 
      <DepartmentNo>IT</DepartmentNo> 
     </ResourceDepartment> 
    </subtitle2> 
</title> 

<title> 
    <subtitle1> 
     <OrginzationDetails> 
      <OrgName>qwe</EmpNumber> 
      <OrgAddress>asdfg 123</EmpName> 
     </OrginzationDetails > 
    </subtitle1> 

    <subtitle2> 
     <ResourceDetails> 
      <EmpNumber>2</EmpNumber> 
      <EmpName>abc</EmpName> 
     </ResourceDetails> 
     <ResourceDepartment> 
      <EmpNumber>2</EmpNumber> 
      <DepartmentNo>SALES</DepartmentNo> 
     </ResourceDepartment> 
    </subtitle2> 
</title> 
+5

一般情況下,你會想利用[關鍵](https://www.w3.org/TR/xslt/#鍵)以解決輸入中的交叉引用。 –

回答

1

解決方案的實質是

<xsl:for-each-group select="/title/subtitle/*" group-by="EmpNumber"> 
    <title> 
    <subtitle> 
     <xsl:copy-of select="current-group()"/> 
    ... 
+0

非常感謝解決方案。它工作!! ..我剛剛修改了輸入xml與一個更多的子元素根標籤tittle.It將是一個很大的幫助,如果你可以幫助我如何將相同以上解決方案..預先感謝.. :) – rplg

+0

如何通過按鍵功能使用。請更新。 –

+0

請不要在問題得到解答後以無效的方式更改問題。這讓後來尋找類似問題答案的人感到困惑。如果您有補充問題,請打開一個新問題。 –

相關問題