如何在标签xml之外提取文本

时间:2011-07-29 09:43:35

标签: xml text xpath tags extraction

我想在标签之外提取文字。例如,

<body>
    This is an exmaple
    <p>
        blablabla
    </p>
    <references>
        refer 1
        refer 2
    </references>
</body>

我想获得文本“这是一个例子”,只有其他标签(p或参考)中没有文字。我尝试了几种方法但不起作用。 Any1可以帮忙吗?非常感谢。

2 个答案:

答案 0 :(得分:8)

您必须将标记内的文本视为节点。使用测试节点text()检索文本节点。例。给出:

<body>
    This is an exmaple
    <p>
    blablabla
    <\p>
    <references>
        refer 1
        refer 2
    <\references>
    another example
<\body>

的XPath:

"/body/text()"

将检索body的所有子文本节点,例如“This is an exmaple”和“another example”,同时:

"/body/text()[1]"

只会检索第一个,“这是一个例子”。如果您想要使用所有后代文本节点:

"/body//text()"

或者,您希望第一个p:

中的所有文本节点
"/body/p[1]//text()"

答案 1 :(得分:2)

使用此XPath:/body/text()。它将选择This is an exmaple