XPath查询使用包含函数

时间:2014-06-08 12:36:14

标签: xml xpath

我正在尝试以下xml文档中的xpath查询

<?xml version="1.0" encoding="utf-8"?>
<diccionarios>
  <diccionario>
    <nombre>Diccionario de la Real Academia Española</nombre>
    <siglas>DRAE</siglas>
    <definicion>
      <palabra>ordenador, ra</palabra>
      <punto>Que ordena.</punto>
      <punto>Jefe de una ordenación de pagos u oficina de cuenta y razón.</punto>
      <punto>Máquina electrónica ...</punto>
    </definicion>
    <definicion>
      <palabra>monitor, ra.</palabra>
      <punto>Persona que guía el aprendizaje deportivo, cultural, etc.</punto>
      <punto>Hombre que amonesta o avisa.</punto>
      <punto>Aparato receptor ...</punto>
    </definicion>
  </diccionario>
</diccionarios>

我需要在palabras标记中获取包含字符串'...'的{​​{1}}个标记。 我试过了

punto

但我认为它只会检查//definicion[contains(punto,'...')]/palabra 标记的第一次出现。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您需要查看contains()作为参数的内容。你正在传递一个元素,但它正在期待字符串。谓词的一些问题。这就是你想要的:

//definicion[punto/text()[contains(.,'...')]]/palabra

答案 1 :(得分:1)

您也可以这样做:

//definicion[punto[contains(.,'...')]]/palabra

输出:

Element='<palabra>ordenador, ra</palabra>'
Element='<palabra>monitor, ra.</palabra>'