使用 TinyXml2 提取子树 XML 字符串

2024-05-06

我想做和里面那个人完全相同的事情这个问题 https://stackoverflow.com/questions/11935689/how-to-convert-an-xmlelement-to-string-in-tinyxml2.

我想将 XML 子元素(及其所有子元素)转换为 XML 字符串,因此如果 XML 结构是

<parent>
    <child>
        <value>abc</value>
    </child>
<parent>

我想要子元素的 xml,例如

<child>
    <value>abc</value>
</child>

我不关心空白。问题是接受的答案 https://stackoverflow.com/a/12359773/724157另一个问题似乎已经过时了,因为 XMLElement 对象没有“Print”方法。我可以使用 TinyXml2 执行此操作吗?


我编写了以下函数,它对我有用。请注意,它可能有错误 - 我正在使用非常简单的 XML 文件,因此我不会假装我已经测试了所有情况。

void GenXmlString(tinyxml2::XMLElement *element, std::string &str)
{
    if (element == NULL) {
        return;
    }

    str.append("<");
    str.append(element->Value());
    str.append(">");

    if (element->GetText() != NULL) {
        str.append(element->GetText());
    }

    tinyxml2::XMLElement *childElement = element->FirstChildElement();
    while (childElement != NULL) {
        GenXmlString(childElement, str);
        childElement = childElement->NextSiblingElement();
    }

    str.append("</");
    str.append(element->Value());
    str.append(">");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TinyXml2 提取子树 XML 字符串 的相关文章

随机推荐

  • 如何使用 SharpDX Toolkit 绘制透明 3D 对象?

    我正在开发一个使用 SharpDX 和 SharpDX Toolkit 来绘制简单 3D 形状的应用程序 Geometrics Desktop 示例对于入门非常有帮助 现在我正在尝试使某些形状透明 并且为了简单起见 我只是尝试使该示例中的茶
  • 复制键盘布局,向上推入底部表格

    当底部工作表打开时 有什么方法可以像 Android 键盘一样手动上推布局 滚动视图或回收器视图或整个活动 或者你可以说我想以底部表格的形式制作一个最小的键盘 不使用任何可编辑视图 100 工作配方 在 BottomSheetFragmen
  • 如何将 Java 客户端连接到 Windows 10 上的 Azure Cosmos db 模拟器,找不到证书

    Problem 我的演示代码客户端无法连接到 Windows 10 上的 Azure Cosmos 模拟器 Steps 我在 Windows 上安装了 Cosmosdb 模拟器 看起来不错 根据文档 我启动了 Windows cert ma
  • 将图像添加到 uitableview 单元格

    我有一个tableview 如何将图像添加到该单元格的左侧 cell imageView image UIImage imageNamed image png 更新 就像 Steven Fisher 所说 这应该只适用于具有 UITable
  • WPF 命令参数绑定问题

    我在理解命令参数绑定的工作原理时遇到一些困难 当我在调用 InitializeComponent 之前创建小部件类的实例时 它似乎工作正常 对 ExecuteCommand 函数中参数 Widget 的修改将 应用 到 widget 这是我
  • 程序如何在Python中的两个函数之间进行选择?

    我有一个 Python 3 2 程序 可以计算未来任意时间段内的投资价值 它可以处理单利和复利 问题是我定义了两个函数 main 和 main2 第一个是简单函数 第二个是复利函数 现在我想做的是 根据用户的一些输入 程序在运行 main
  • 为什么在 ruby​​ 中创建元类?

    我正在尝试了解 Ruby 对象模型 我知道实例方法保存在类中而不是类的对象中 因为它消除了冗余 我读到 每当创建一个类时 也会为新创建的类创建一个元类 元类存储类方法 即该类的单例方法位于元类中 例如 class MyClass def h
  • 这个程序中的“this”是什么意思?

    我正在编写一个程序 然后我在一些使用this这段代码中的关键字 我想知道它的目的是什么 它可以处理 Jbutton 或 JTextField 它可以使用 this 关键字显示消息 发生了什么getSource 这是代码 import jav
  • 如何使用 Selenium Webdriver 自动化验证码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在为登录页面编写脚本 但我有一个验证码需要处理 Selenium 无法处理验证码 虽然网站出于同样的原因使用验证码 所以没有人可以
  • 导致链接平移并打开地图中的标记

    JSFiddle http jsfiddle net megatimes NVDLf 7 http jsfiddle net megatimes NVDLf 7 我有一张地图 它从数组创建多个标记 地图下方是一些链接 单击这些链接时 我想让
  • 更改 iOS 地图中的图钉方向

    环球银行金融电信协会3 0 MKMAP视图 iOS Note 融合的AppleMap 不与GoogleMap 我做了以下事情 实现地图并将自定义图像添加到用户位置注释 当地图打开时 它会在正确的位置显示用户位置 我的要求 当用户移动到不同方
  • Laravel 5.2 CORS,GET 不适用于预检选项

    可怕的 CORS 错误 跨源请求被阻止 同源策略不允许读取 远程资源位于http localhost mysite api test http localhost mysite api test 原因 CORS 标头 Access Cont
  • 如何防止查询字符串被篡改?

    Hii 我有一个像 http project page1 aspx userID 5 http project page1 aspx userID 5 如果手动更改 userID 参数 该操作将无法执行 这怎么可能 大家好 谢谢您的帮助 我
  • 如何在 Angular 6 单元测试中调试 HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR { "isTrusted": true } ?

    当我运行测试套件时 我在与我一直在使用的单元测试完全不同的单元测试中遇到错误 我做错了什么 HeadlessChrome 0 0 0 Linux 0 0 0 ERROR isTrusted true 然后是一些构建步骤 并在测试执行期间出现
  • 动态创建结构的List<>

    在 C 中 我想创建一个基于动态值类型的列表 例如 void Function1 TypeBuilder tb tb is a value type Type myType tb CreateType List
  • 使用“旧”对象引用使用构建器模式创建新对象

    我正在尝试构建器模式 并陷入如何向新创建的对象添加新 属性 的困境 public class MsProjectTaskData private boolean isAlreadyTransfered private String req
  • CMake 错误:CMake 无法找到与“MinGW Makefiles”对应的构建程序

    我正在尝试使用 cmake 为 c 构建 Box2D 库 当我运行 cmake gui 时出现错误 CMake Error CMake was unable to find a build program corresponding to
  • svn 本地副本中修改的文件列表

    我使用 Tortoise 客户端签出 提交我对 SVN 的更改 但我发现这有点困难 因为我无法找到本地副本中更改的所有文件的列表 有什么捷径或者我忽略的东西吗 我是 SVN 新手 供参考 我不熟悉乌龟 但是对于 linux 的颠覆我会输入
  • 在 Laravel 中记录用户操作

    我正在尝试将用户执行的所有操作 登录 注销 CRUD 记录到我的数据库中的日志表中 并且从我所看到的事件看来是执行此操作的正确方法 我添加了一个did action User 模型的方法 它将给定用户的操作记录到数据库中 这是我到目前为止所
  • 使用 TinyXml2 提取子树 XML 字符串

    我想做和里面那个人完全相同的事情这个问题 https stackoverflow com questions 11935689 how to convert an xmlelement to string in tinyxml2 我想将 X