0
我有以下代碼:如何使用樣式表從另一個XML文檔複製特定節點?
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Student/Instance[OWNINST = document('File2.xml')/studentstoamend/STUDENT/OWNINST]/STULOAD">
<xsl:copy>
<xsl:copy-of select=""/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
,我需要從file2.xml這是按以下格式拿起每個OWNINST的STULOAD:
<?xml version="1.0" encoding="UTF-8"?>
<studentstoamend>
<STUDENT><OWNINST>123456|2</OWNINST><STULOAD>0</STULOAD></STUDENT>
<STUDENT><OWNINST>654321|1</OWNINST><STULOAD>100</STULOAD></STUDENT>
</studentstoamend>
並覆蓋了該STULOAD OWNINST在我的文件(file1.xml)中。 File1擁有比file2更多的OWNINST,而file2中未引用的則不應該更新。
<Institution>
<Student>
<Instance>
<OWNINST>123456|2</OWNINST>
<STULOAD>3</STULOAD>
</Instance>
</Student>
<Student>
<Instance>
<OWNINST>111111|3</OWNINST>
<STULOAD>18</STULOAD>
</Instance>
</Student>
</Institution>
我不能讓我的副本聲明工作 - 如果這是正確的方式來做到這一點。
任何幫助表示讚賞。
這是如何不同:http://stackoverflow.com/questions/32699375/change-multiple-values-in-an-xml-file-to-those-referenced-in-another-xml-檔案? –