Я хочу сделать одно преобразование с помощью XSLT. В соответствии с приведенным ниже образцом доступно несколько EmpRecord, и каждый EmpRecord содержит EmpDept и профиль доступных сотрудников в рамках этого Департамента.для каждого цикла в XSLT
XML:
<Employee>
<EmpRecord>
<EmpDept>Accounting</EmpDept>
<EmpData>
<Name>Joy</Name>
<Age>32</Age>
</EmpData>
</EmpRecord>
<EmpRecord>
<EmpDept>Finance</EmpDept>
</EmpRecord>
<EmpRecord>
<EmpDept>IT</EmpDept>
<EmpData>
<Name>Sam</Name>
<Age>27</Age>
</EmpData>
<EmpData>
<Name>John</Name>
<Age>25</Age>
</EmpData>
<EmpData>
<Name>Ricky</Name>
<Age>31</Age>
</EmpData>
</EmpRecord>
</Employee>
Ожидаемый результат:
<Employee>
<EmpRecord>
<Department>Accounting</Department>
<EmpData>
<EmpName>Joy</EmpName>
<Age>32</Age>
</EmpData>
</EmpRecord>
<EmpRecord>
<Department>IT</Department>
<EmpData>
<EmpName>Sam</EmpName>
<Age>27</Age>
</EmpData>
<EmpData>
<EmpName>John</EmpName>
<Age>25</Age>
</EmpData>
<EmpData>
<EmpName>Ricky</EmpName>
<Age>31</Age>
</EmpData>
</EmpRecord>
</Employee>
Я могу получить все доступные EmpData, но не может принести EmpDept.
XSLT используется:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Employee>
<xsl:for-each select="/Employee/EmpRecord/EmpData">
<Department><xsl:value-of select="./EmpDept"/></Department>
<EmpData>
<EmpName><xsl:value-of select="./Name"/></EmpName>
<Age><xsl:value-of select="./Age"/></Age>
</EmpData>
</xsl:for-each>
</Employee>
</xsl:template>
</xsl:stylesheet>
Так что я хочу только те EmpDept, который имеет по крайней мере один сотрудник отсутствует.
Извините, если мой ожидаемый результат, вводит в заблуждение, на самом деле я не хочу чтобы точно копировать. В моей реальной работе требуется изменение тегов и структуры. –