如何使用for循环处理xslt中名称相同但属性值不同的xml标记
XML如何使用for循环处理xslt中名称相同但属性值不同的xml标记,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,XML 萨拉尼亚 1234 萨曼达夫 加亚特里 5678 加拉赫 XSL: 我在使用for循环获取不同行的值时遇到问题,我获取所有行中第一行的值。我正在尝试从XML中获取所有行的值。有人能帮我吗。 提前感谢:)在XPath中使用/意味着:通过完整的文件搜索所有这些元素。如果可以,您应该始终使用/ 更改: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http
萨拉尼亚
1234
萨曼达夫
加亚特里
5678
加拉赫
XSL:
我在使用for循环获取不同行的值时遇到问题,我获取所有行中第一行的值。我正在尝试从XML中获取所有行的值。有人能帮我吗。
提前感谢:)在XPath中使用
/
意味着:通过完整的文件搜索所有这些元素。如果可以,您应该始终使用/
更改:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:for-each select="//ROW">
<businessobject>
<fulltext>
<title><xsl:value-of select="//COLUMN[@NAME='Title']"/></title>
<id><xsl:value-of select="//COLUMN[@NAME='Case_ID']"/></id>
<nccode><xsl:value-of select="//COLUMN[@NAME='System_Id']"/></nccode>
</fulltext>
</businessobject>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<xsl:value-of select="COLUMN[@NAME='Title']"/>
致:
您甚至可以进行更多更改,并更具相关性:
更改:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:for-each select="//ROW">
<businessobject>
<fulltext>
<title><xsl:value-of select="//COLUMN[@NAME='Title']"/></title>
<id><xsl:value-of select="//COLUMN[@NAME='Case_ID']"/></id>
<nccode><xsl:value-of select="//COLUMN[@NAME='System_Id']"/></nccode>
</fulltext>
</businessobject>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<xsl:value-of select="COLUMN[@NAME='Title']"/>
致:
试着这样做:
<xsl:for-each select="RESULTS/ROW">
请注意,在您的输入示例中没有列[@NAME='Title'.我想您必须提供源XML。使用4个或更多空格缩进来保持XML格式。
<xsl:for-each select="RESULTS/ROW">
<xsl:template match="/">
<xsl:for-each select="RESULTS/ROW">
<businessobject>
<fulltext>
<title><xsl:value-of select="COLUMN[@NAME='Title']"/></title>
<id><xsl:value-of select="COLUMN[@NAME='Case_ID']"/></id>
<nccode><xsl:value-of select="COLUMN[@NAME='System_Id']"/></nccode>
</fulltext>
</businessobject>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>