我的一小块xml是:
<svg>
<g id='NOCUT'>
<line x="5.0"/>
<line x="55.0"/>
<path x="50.0"/>
<line x="0.0"/>
<line x="55.0"/>
.
.
</g>
</svg>
在我的xslt中,我应该只能读到这个列表,直到它遇到x = 0;需要忽略之后的所有元素。
我尝试写下面的内容,但它不起作用:
<xsl:for-each select="svg[g/@id='NOCUT']">
<xsl:for-each select="g/*[preceding-sibling::node[line/@x = '0.0']]">
<xsl:value-of select="x"/>
</xsl:foreach>
</xsl:foreach>
我做错了什么?
答案 0 :(得分:3)
你可以使用
<xsl:for-each select="g/*[not(preceding-sibling::line[@x = '0.0'])]">
而不是
<xsl:for-each select="g/*[preceding-sibling::node[line/@x = '0.0']]">
也
将<xsl:value-of select="x"/>
更改为<xsl:value-of select="@x"/>