通过 c++ pugixml 库检索 PCDATA xpath

Retrieving PCDATA xpath via the c++ pugixml library

本文关键字:PCDATA xpath 检索 c++ pugixml 通过      更新时间:2023-10-16

我花了上周的时间阅读并重新阅读了pugimxml文档,我找不到使用xpath检索PCDATA的方法。

请解释一下我会从标题中提取文本吗:

<html><head><title>Hello!</title></head></html>

上次我问这个问题时,我得到的唯一答案是通用的xpath查询,而不是专门针对pugixml库函数。我已经彻底阅读了 xpath 文档,所以不要担心教育我。

谢谢。

const char* text = doc.select_single_node("html/head/title/text()").node().value();
  • select_single_node选择 PCDATA 节点
  • .node()从 xpath_node 转换为 xml_node(这是必需的,因为 XPath 节点是 xml 节点或属性)
  • .value()获取节点的值(即文本)。

当我获取 PCDATA 时,我首先找到了节点,然后我调用

node = retrive_xml_node_from_xpath();
node.first_child().value;

因此,对于您展示的示例,创建一个 xpath 来查找标题节点,然后获取其第一个子节点值。