我有XML
<?xml version="1.0"?>
<data>
<element>
<A>192.168.188.100</A>
<B>/shelf=1</B>
<C></C>
</element>
<element>
<A>192.168.188.100</A>
<B>/slot=1</B>
</element>
<element>
<A>192.168.188.23</A>
<B>/port=client:1:3:1-2</B>
</element>
</data>
我的XSLT映射有效:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:max="http://www.ibm.com/maximo">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<max:SyncCIDW>
<max:CIDWSet>
<xsl:apply-templates select="data/element" />
</max:CIDWSet>
</max:SyncCIDW>
</xsl:template>
<xsl:template match="element">
<max:CI>
<max:CINUM><xsl:value-of select="A"/></max:CINUM>
</max:CI>
</xsl:template>
</xsl:stylesheet>
但现在我只想处理定义中包含元素C
的元素。那么C
元素是否有价值,但只有处理C
的元素才会被处理?
所以基本上我这个例子的输出结果应该只有1个元素。
由于
答案 0 :(得分:2)
将<xsl:apply-templates select="data/element" />
更改为<xsl:apply-templates select="data/element[C]" />
。