Html XPath选择除某些部分之外的文本

Html XPath选择除某些部分之外的文本,html,xml,xpath,xpath-2.0,Html,Xml,Xpath,Xpath 2.0,如果要提取“文本1”而不是“文本2”和“文本3”,如何编写XPath表达式 案文1案文2 试试这个: <xsl:value-of select="text()"/> 请尝试以下XPath: $x("(//div[@class='content']/div/p/text())[1]"); 也许它的效率不高,但它似乎在发挥作用:) 请注意,[1]将第一次出现文本,如果更改文本位置,它将无法正常工作 问候,, Andrea.此XPath将选择作为p //div[@class='c

如果要提取“文本1”而不是“文本2”和“文本3”,如何编写XPath表达式



案文1案文2

试试这个:

<xsl:value-of select="text()"/>
请尝试以下XPath:

$x("(//div[@class='content']/div/p/text())[1]");
也许它的效率不高,但它似乎在发挥作用:) 请注意,[1]将第一次出现文本,如果更改文本位置,它将无法正常工作

问候,,
Andrea.

此XPath将选择作为
p

//div[@class='content']/div/p/text()
因此将排除“文本2”和“文本3”

您可能更愿意消除前导和尾随空格(并替换重复的内部空格,但在这里不重要):

XPath 1.0和XPath 2.0中的计算结果均为“文本1”

$x("(//div[@class='content']/div/p/text())[1]");
//div[@class='content']/div/p/text()
//div[@class='content']/div/p/text()[normalize-space()]