我需要一個XSLT來根據一個條件重構XML。這是要求。需要用於重構XML節點的XSLT
這是源XML,其中有兩個節點之一是標頭1和第二個是標題2
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<header1>
<Id>a3s600000004Vi3AAE</Id>
<field1>a3n600000008X1ZAAU</field1>
<field2>0066000000Jv4RWAAZ</field2>
<field3>10121226</field3>
<field4>Alexis Camacho</field4>
</header1>
<header1>
<Id>a3s600000004Vi4AAE</Id>
<field1>a3n600000008PjbAAE</field1>
<field2>0066000000Jv0m1AAB</field2>
<field3>07043A</field3>
<field4>Jose M Rodriguez</field4>
</header1>
<header2>
<field5>a086000000DA5HpAAL</field5>
<field6>a3s600000004Vi3AAE</field6>
</header2>
<header2>
<field5>a086000000DA5HqAAL</field5>
<field6>a3n600000008PjbAAE</field6>
</header2>
這是目標XML,在此有一個包含所有隻有一個節點的7個字段與具有場5值條件應等於ID
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<header>
<Id>a3s600000004Vi3AAE</Id>
<field1>a3n600000008X1ZAAU</field1>
<field2>0066000000Jv4RWAAZ</field2>
<field3>10121226</field3>
<field4>Alexis Camacho</field4>
<field5>a3s600000004Vi3AAE</field5>
<field6>a086000000DA5HpAAL</field6>
</header>
<header>
<Id>a3s600000004Vi4AAE</Id>
<field1>a3n600000008PjbAAE</field1>
<field2>0066000000Jv0m1AAB</field2>
<field3>07043A</field3>
<field4>Jose M Rodriguez</field4>
<field5>a3s600000004Vi4AAE</field5>
<field6>a086000000DA5HqAAL</field6>
</header>
用於轉換的條件是字段5的值應該等於ID。所以請提供一個XSLT來執行操作。
我有以下XSLT試圖打印單場5:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Items</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Opportunities_id</th>
</tr>
<xsl:for-each select="Data/header1">
<xsl:value-of select="count(.)"/>
<xsl:if test="count(.) > 0">
<xsl:variable name="oppId" select="string(/Data/header1/Id)"/>
<xsl:element name="EXPORTRESPONSE" namespace="fieldpoint.com/namespaces">; <xsl:for-each select="//Data/header2">
<xsl:if test="count(.) > 0">
<xsl:variable name="opprId" select="string(/Data/header2/field5)"/>
<xsl:if test="compare($opprId,$oppId)=0">asda
<Opportunities_id><xsl:value-of select="$opprId"/></Opportunities_id>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:element>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
但它並不成功。請建議我做錯了什麼
在此先感謝。
請添加您的XSLT代碼(你什麼管理到目前爲止)的職位。 Stackoverflow不會爲你編寫代碼,它可以幫助你解決編程問題。 –
「,條件是字段5的值應該等於ID。」我沒有看到你的例子中這個條件是真的。如果是這樣,使用**鍵**可以輕鬆完成此任務。 –
哦..這是複製粘貼錯誤.. – user3132758