我正在以下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标记中包含字符串'...'punto标记。
我试过了

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


但我认为它只会检查punto标记的首次出现。感谢帮助。

最佳答案

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

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

10-08 01:32