Html 如何通过xpath在第一个子节点之前获取节点的文本?

Html 如何通过xpath在第一个子节点之前获取节点的文本?,html,xml,xpath,Html,Xml,Xpath,mytextother 假设我有上面的XML数据,我想提取“mytext”。但是//a将同时检索mytext和other。是否有方法在的第一个子节点之前提取文本?这些XPath将选择mytext文本节点: a的所有文本节点子节点:(只有一个。) (附加[1]以仅指定第一个。) b之前的a的所有文本节点子节点:(只有一个。) (追加[1]仅指定返回的第一个。) 如果b的名称未知或可能是任何东西怎么办?当内部节点不存在时,如何使代码健壮?这两个问题都是可以回答的,但都值得提出自己的新问题。确保

mytextother


假设我有上面的XML数据,我想提取“mytext”。但是
//a
将同时检索
mytext
other
。是否有方法在
的第一个子节点之前提取文本?

这些XPath将选择
mytext
文本节点:

  • a
    的所有文本节点子节点:(只有一个。)

    (附加
    [1]
    以仅指定第一个。)

  • b
    之前的
    a
    的所有文本节点子节点:(只有一个。)

    (追加
    [1]
    仅指定返回的第一个。)


如果
b
的名称未知或可能是任何东西怎么办?当内部节点不存在时,如何使代码健壮?这两个问题都是可以回答的,但都值得提出自己的新问题。确保提供足够的标记示例来说明您的需求,即哪些内容可以和哪些内容不能被假定为不变。谢谢
/a/text()
/a/b/preceding-sibling::text()