我希望您的幫助可以使用XSLT將某些XML轉換爲新的XML文件。我有選擇多個XML並在其上應用XSLT的代碼。如何將多個xml文件轉換併合併爲一個文件
我的問題是在XSLT中,我想將shop1.xml shop2xml ..轉換爲allshops.xml。對於知道如何使用XSLT的人來說,這是一件容易的事,因爲只有2-3個變化。
下面您可以找到更好理解的結構。非常感謝你。
shop1.xml
<shop>
<products>
<product id="189">
<title></title>
<description></description>
<price></price>
<image></image>
<url></url>
<category id="61"></category>
</product>
</products>
</shop>
shop2.xml
<shop>
<products>
<product id="182">
<title></title>
<description></description>
<price></price>
<image></image>
<url></url>
<category id="62"></category>
</product>
</products>
</shop>
shop3.xml //這其中有直接的產品爲根,ID可能是已經存在
<products>
<product>
<id>123</id>
<title></title>
<description></description>
<price></price>
<image></image>
<url></url>
<category id="62"></category>
</product>
</products>
paths.xml它從PHP代碼用於獲取多個XML文件
<?xml version="1.0" encoding="utf-8"?>
<files>
<file>shop1.xml</file>
<file>shop2.xml</file>
<file>shop3.xml</file>
</files>
allshops.xml
<products> //removed the store,shop and products stays as root
<product>
<id>the product's attribute id</id> //new element, with value the product id=""
<title></title>
<description></description>
<price></price>
<image></image>
<url></url>
<category></category> //removed the attribute id
<shopid></shopid> //new element, will be blank for now
</product>
<product>
</product>
.
.
.
</products>
這將是更好使用'文檔加載的所有文件( )'XSLT 1.0函數。通過這種方式,您將能夠正確地將內容包含在一個'products'root中,並且可以用當前文件名填充'shopid'。 –
你好。如果您需要回復,我對此解決方案非常感興趣。 – EnexoOnoma
看到我的答案。我保留了一般變換,以便包含最終不包含在輸入樣本中的其他節點。希望能幫助到你。 –