为以下xml创建xpath表达式
我对XPath非常陌生,我正在创建一个XPath表达式,用于检索以下xml的多个元素为以下xml创建xpath表达式,xpath,Xpath,我对XPath非常陌生,我正在创建一个XPath表达式,用于检索以下xml的多个元素 <ol> <li> <a data- key="abc(/parent)" value="superval)">Parent</a> <ol> <li> <a data-key="abc(/parent/1)" data-value="parent-val">Parent/1</
<ol>
<li>
<a data- key="abc(/parent)" value="superval)">Parent</a>
<ol>
<li>
<a data-key="abc(/parent/1)" data-value="parent-val">Parent/1</a>
<ol>
<li>
<a data-key="abc(/parent/1/1)" data-value="xyz">Parent/1/1</a>
</li>
<li>
<a data-key="abc(/parent/1/2)" data-value="xyz">Parent/1/2</a>
</li>
<li>
<a data-key="abc(/parent/1/3)" data-value="xyz">Parent/1/3</a>
</li>
<li>
<a data-key="abc(/parent/1/4)" data-value="xyz">Parent/1/4</a>
</li>
</ol>
</li>
</ol>
</li>
<li>
<a data-key="bcd/(parent1)" value="superval">Parent1</a>
<ol>
<li>
<a data-key="bcd(/parent1/1)" data-value="parent-val">Parent1/1</a>
<ol>
<li>
<a data-key="bcd(/parent1/1/1)" data-value="xyz">Parent1/1/1</a>
</li>
<li>
<a data-key="bcd(/parent1/1/2)" data-value="xyz">Parent1/1/2</a>
</li>
<li>
<a data-key="bcd(/parent1/1/3)" data-value="xyz">Parent1/1/3</a>
</li>
<li>
<a data-key="bcd(/parent1/1/4)" data-value="xyz">Parent1/1/4</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
但它只给我一个
元素,我需要一系列元素。我对XPath完全不熟悉,所以这方面的任何帮助都会很有用
非常感谢。
Asheesh尝试使用contains()函数,在您要查找的范围内,如下所示:
//*[contains(@data-key,'abc(/parent/1/1/)')]
这将为您提供至少具有该根的数据键的所有节点,例如(parent/1/1/1)到(parent/1/1/4)的示例。虽然您提供的XML片段不包含该范围的数据键,但是您可以将斜杠/数字编辑到您想要的。您是用什么编程语言或系统来使用XPath来处理这个XML?我使用C++,在这里我使用LIbXML库解析XML。
//*[contains(@data-key,'abc(/parent/1/1/)')]