繁体   English   中英

如何使用 XPath select 节点内的所有文本?

[英]How to select all text inside a node using XPath?

有没有办法使用 XPath 来 select 任何这些div class="cont"中的文本? 一个 XPath 将抓取div class="cont"内的任何文本,它可以直接在div内或在spanp内。

<div class="detail-block">
  <div id="description-content-wrapper" class="">
    <h3 class="brdt ">Descripción</h3>
    <div class="cont">
      <p>Este curso permite al alumno obtener una doble titulación gracias al sistema de 
         convalidación de assignaturas entre las dos carrerras.</p>
    </div>
  </div>
</div>
<div class="detail-block">
  <div id="description-content-wrapper" class="textosmas openmore" style="height: 493px;">
    <h3 class="brdt ">Descripción</h3>
    <div class="cont">El Grado en Ingeniería Informática combina un plan de estudios (3 años de 
     docencia + 1 de prácticas) creado con el asesoramiento de IBM, Telefónica, Indra, BQ y Atos 
     y añade la posibilidad de realizar un innovador Diploma en Transformación Digital, 
     impartido por empresas punteras del sector
    </div>
  </div>
</div>

您可以通过 select 当前节点下的所有文本节点

.//text()

或者,您可能更喜欢使用节点的字符串值...

XPath 1.0

如果您知道 XPath 表达式只会选择一个节点,

normalize-space(//div[@id='description-content-wrapper']/div[@class="cont"])

将返回目标节点的空间标准化字符串值

如果可能有多个这样的节点,则必须像使用多个文本节点一样以宿主语言对它们进行迭代。 但是,如果您的库支持 XPath 2.0...

XPath 2.0

此 XPath,

//div[@id='description-content-wrapper']/div[@class="cont"]/normalize-space()

将返回所选节点的所有空间标准化字符串值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM