如何使用XSLT解析XML?(How to parse XML using XSLT?)

2019-10-17 21:20发布

我有一个数据的XML如下

<Item1>
  <item2>
    <Item3>111</Item3>
  <Item2>
</Item11>

要获得项目3的值111

<xsl:choose>
  <xsl:value-of select="Item1/Item2/Item3"/>
</xsl:choose>

在XSLT。 现在,我需要得到以下几点:

<Product1>
  <Product2>
    <Product3 ValidYN="Y" ProducType="ABC">333</Product3>
    <Product3 ValidYN="Y" ProducType="DEF">444</Product3>
    <Product3 ValidYN="Y" ProducType="GHI">555</Product3>
  <Product12>
</Product1>

我需要根据ProducType。怎么值333,444,555做使用XSLT相同

Answer 1:

要选择基于相对于它值的节点,你可以使用这样的XPath:

/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'ABC']
/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'DEF']
/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'GHI']

在[方括号]的部分被称为“谓词”。



文章来源: How to parse XML using XSLT?