搜索具有特定名称标签的节点

时间:2017-08-29 09:23:10

标签: xml xslt xpath

我正在尝试使用name=SomeName2 xslt节点并将其子节点文本作为输出。我不知道它们在xml文件中的位置,并且它们在不同的xml文件中的位置总是不同。

是否可以选择研究节点名称的xml文件,而不是节点名称空间?

这是我的XML文件:

<con1:node>              
                <con2:node name="SomeName">
                  <con2:path>'Text'</con2:path>
                </con2:node>
                <con2:node name="SomeName2">
                  <con2:path>'Text'</con2:path>
                </con2:node>
                <con2:node name="SomeName3">
                  <con2:path>'Text'</con2:path>
                </con2:node>
<con1:node>

1 个答案:

答案 0 :(得分:1)

你可以使用:

<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="2.0">
        <xsl:output indent="yes" method="text"/>
        <xsl:template match="/">
            <xsl:value-of select="//@name[normalize-space(.) = 'SomeName2']/parent::*"/>
        </xsl:template>
    </xsl:stylesheet>