当前位置:  开发笔记 > 编程语言 > 正文

C++:如何从RapidXml中提取字符串

如何解决《C++:如何从RapidXml中提取字符串》经验,为你挑选了2个好方法。

在我的C++程序中,我想解析一小段XML,插入一些节点,然后提取新的XML(最好是一个std::string).
RapidXml已被推荐给我,但我看不到如何将XML作为文本字符串检索回来.
(我可以遍历节点和属性并自己构建它,但肯定有一个我缺少的功能构建.)
谢谢.



1> Thomas Watne..:

虽然这个主题的文档很差,但我设法通过查看源代码获得了一些工作代码.虽然它缺少通常包含重要信息的xml标头.这是一个小例子程序,使用rapidxml执行您正在寻找的内容:

#include 
#include 
#include "rapidxml/rapidxml.hpp"
#include "rapidxml/rapidxml_print.hpp"

int main(int argc, char* argv[]) {
    char xml[] = ""
                 ""
                 "";

    //Parse the original document
    rapidxml::xml_document<> doc;
    doc.parse<0>(xml);
    std::cout << "Name of my first node is: " << doc.first_node()->name() << "\n";

    //Insert something
    rapidxml::xml_node<> *node = doc.allocate_node(rapidxml::node_element, "author", "John Doe");
    doc.first_node()->append_node(node);

    std::stringstream ss;
    ss <<*doc.first_node();
    std::string result_xml = ss.str();
    std::cout <



2> 小智..:

使用print函数(在rapidxml_print.hpp实用程序头中找到)将XML节点内容打印到a stringstream.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有