【问题标题】:Xpath for xml search用于 xml 搜索的 Xpath
【发布时间】:2016-02-26 10:15:08
【问题描述】:

我有一个 xml 文件,我想搜索一个单词,比如 searchTearm,然后想要返回围绕该搜索词的标签名称。 ex :- 在下面的情况下 searchTerm 被标签命名空间、querySubject 和 queryItem 包围,我试图返回这些标签的名称。名称包含在名称标签中。

任何关于单行 xpath 的帮助:

<namespace>
    <name locale="en">Test</name>
    <lastChanged>2016-01-12T12:42:46</lastChanged>
        <namespace><name locale="en">Database Layer</name>
            <querySubject status="valid"><name locale="en">qsxyz</name>
                <queryItem><name locale="en">qixyz</name>
                    <>...searchTerm..</>
                </queryItem>
            </querySubject>
        </namespace>
 </namespace>

下面的 xpath 似乎不起作用:-

/namespace/namespace/querysubject/queryItem[contains(., 'searchTerm')]

【问题讨论】:

  • 1st,xpath是区分大小写的,所以.../querySubject/...

标签: xml xpath


【解决方案1】:

如果我理解正确

/namespace/namespace/querySubject/queryItem[contains(., 'searchTerm')]/ancestor-or-self::*/name

queryItemsearchTerm 的所有祖先选择name 标签

结果

Element='<name locale="en">Test</name>'
Element='<name locale="en">Database Layer</name>'
Element='<name locale="en">qsxyz</name>'
Element='<name locale="en">qixyz</name>'

如果您添加尾随/text(),您将收到的不是元素而是值

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多