[英]Copying content of one xml into other using xslt
我正在嘗試使用Xslt將內容從一個xml復制到另一個xml。
我需要復制file1的內容
<?xml version="1.0"?>
<products author="Jesper">
<product>
<name>Delta</name>
<price>800</price>
<stock>
<price>13a</price>
</stock>
<place>Denmark</place>
</product>
</products>
到文件2。File2具有類似的標記,但是順序混亂,
<?xml version="1.0"?>
<products author="Jesper">
<product>
<stock>
<price>13d</price>
</stock>
<price>700</price>
<place>Copenhagen</place>
<name>Beta</name>
</product>
</products>
預期產量
<products author="Jesper">
<product>
<stock>
<price>13a</price>
</stock>
<price>800</price>
<place>Denmark</place>
<name>Delta</name>
</product>
</products>
所以基本上我需要使用for-each遍歷file1,然后在file2中找到匹配的標簽並復制標簽值。 不知道這樣做的有效方法。雙重迭代效率很低。 任何建議都會有所幫助。
這是一個非常廣泛的問題,但是我將嘗試為您提供一些入門指南。 您可能要使用doc()
函數加載文件,因為XSLT僅允許您迭代單個“主”文件。 doc()
將新文件加載到一個變量中,您可以將其應用於模板等等。 如果您擔心迭代性能,則應了解xsl:key
和key()
函數,它們將建立有助於此工作的索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.