有没有办法使用 c++ 在快速 xml 中通过标签获取 xml 值

发布于 2024-09-26 11:25:40 字数 455 浏览 7 评论 0原文

有没有办法使用c++在rapidxml中通过标签名获取标签的值

<?xml version=\1.0\ encoding=\latin-1\?>
<book>example</book>
<book1>example1</book1>

我需要获取书本值,即示例和book1值....我们可以使用这个doc.first_node()->value () 获取第一个节点和下一个节点,但我需要有什么方法可以获取值,例如 按名称获取

答案

xml_node<> *node = doc.first_node("book");
      cout <<< node->value() << "\n";

is there is any way to get the value of tag by its tagname in rapidxml using c++

<?xml version=\1.0\ encoding=\latin-1\?>
<book>example</book>
<book1>example1</book1>

i need to get the book value ie example and book1 value ....we can use this doc.first_node()->value()
get first node and next node but i need to is there is any way to get the value like get by name

Answer

xml_node<> *node = doc.first_node("book");
      cout <<< node->value() << "\n";

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷你仙 2024-10-03 11:25:40

您应该能够使用要匹配的节点名称来调用first_node。来自文档

函数 xml_node::first_node

剧情简介

xml_node* 第一个_node(const Ch
*name=0, std::size_t name_size=0, bool case_sensitive=true) const;
说明

获取第一个子节点(可选)
匹配的节点名称。

参数

姓名

要查找的孩子的姓名,或 0 到
返回第一个孩子,无论其
姓名;这个字符串不必是
如果 name_size 为 则以零结尾
非零

名称大小

名称大小,单位:
字符,或 0 指定大小
根据字符串自动计算

区分大小写

应名比较
区分大小写;不区分大小写
比较仅适用于
ASCII 字符

退货

指向已找到子项的指针,如果没有则为 0
找到了。

不过,RapidXML 不支持 XPath 来进行更丰富的查询。

You should be able to call first_node using a node name to be matched. From the docs:

function xml_node::first_node

Synopsis

xml_node* first_node(const Ch
*name=0, std::size_t name_size=0, bool case_sensitive=true) const;
Description

Gets first child node, optionally
matching node name.

Parameters

name

Name of child to find, or 0 to
return first child regardless of its
name; this string doesn't have to be
zero-terminated if name_size is
non-zero

name_size

Size of name, in
characters, or 0 to have size
calculated automatically from string

case_sensitive

Should name comparison
be case-sensitive; non case-sensitive
comparison works properly only for
ASCII characters

Returns

Pointer to found child, or 0 if not
found.

RapidXML does not support XPath for richer queries though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文