하나의 구조체의 XML을 다른 구조체로 변환해야하는 프로젝트에서 작업 중입니다. 다른 노드 내부에서 노드를 횡단하는 문제에 봉착했습니다. 내 프로젝트가 많은 요소와 속성을 포함하기 때문에 샘플 입력 및 출력 XML 파일을 만들었습니다. 그들은 아래에 주어집니다.하나의 XML 구조를 XSL을 사용하여 다른 XML 구조로 변환
input.xml :
<GENERIC_SYSTEM_PARAMETERS>
<Companies>
<Company ID="10" Name="Cmp_1"/>
<Company ID="20" Name="Cmp_2"/>
<Company ID="30" Name="Cmp_3"/>
</Companies>
<Persons>
<Person id="1">
<Company_ID>10</Company_ID>
<Age>30</Age>
</Person>
<Person id="2">
<Company_ID>10</Company_ID>
<Age>40</Age>
</Person>
<Person id="3">
<Company_ID>20</Company_ID>
<Age>50</Age>
</Person>
</Persons>
</GENERIC_SYSTEM_PARAMETERS>
output.xml :
<Main>
<Companies>
<Company id="10" Name="Cmp_1">
<Employees>
<Employee id="1">
<Age>30</Age>
</Employee>
<Employee id="2">
<Age>40</Age>
</Employee>
</Employees>
</Company>
<Company id="20" Name="Cmp_2">
<Employees>
<Employee id="3">
<Age>50</Age>
</Employee>
</Employees>
</Company>
</Companies>
</Main>
나에게 더 이상 진행하기 위해 몇 가지 아이디어/샘플 XSL 파일을 제공하십시오.
미리 감사드립니다.
<xsl:template match="Company">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<Employees>
<xsl:apply-templates select="../../Persons/Person[Company_ID = current()/@ID]"/>
</Employees>
</xsl:copy>
</xsl:template>
을 필요에 따라 소스에 Person
노드에서 Employee
노드를 생성하는 템플릿을 추가
여기서 'xsl : key'를 사용하면 도움이 될 수 있지만 문제가있는 경우 현재 시도한 코드를 게시해야합니다. 고맙습니다! –
더 진행하려면 XSLT에서 작성하려는 변환에 대해 생각해보십시오. 행운을 빕니다! –