C++ 如何手动创建具有XML属性的boost ptree?
我一直在使用boost库解析XML文件,我必须手动创建一个ptree。我需要向ptree添加一个XML属性。这是boost文档的建议:C++ 如何手动创建具有XML属性的boost ptree?,c++,xml,boost,boost-propertytree,C++,Xml,Boost,Boost Propertytree,我一直在使用boost库解析XML文件,我必须手动创建一个ptree。我需要向ptree添加一个XML属性。这是boost文档的建议: ptree pt; pt.push_back(ptree::value_type("pi", ptree("3.14159"))); 这将添加一个包含内容的元素,但我还需要向元素添加一个属性 上述代码生成: 3.14 我需要添加如下内容: 3.14 我需要更改什么,才能添加属性id=“pi_0”?使用“假”节点: #include <boost
ptree pt;
pt.push_back(ptree::value_type("pi", ptree("3.14159")));
这将添加一个包含内容的元素,但我还需要向元素添加一个属性
上述代码生成:
3.14
我需要添加如下内容:
3.14
我需要更改什么,才能添加属性id=“pi_0”
?使用“假”节点
:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
using boost::property_tree::ptree;
int main() {
ptree pt;
pt.push_back(ptree::value_type("pi", ptree("3.14159")));
pt.put("pi.<xmlattr>.id", "pi_0");
write_xml(std::cout, pt);
}
#包括
#包括
#包括
使用boost::property_tree::ptree;
int main(){
ptree-pt;
pt.push_back(ptree::value_type(“pi”,ptree(“3.14159”));
pt.put(“pi..id”,“pi_0”);
编写xml(std::cout,pt);
}
印刷品
<?xml version="1.0" encoding="utf-8"?>
<pi id="pi_0">3.14159</pi>
3.14159
注意文档链接:)Boost文档通常很简洁,但很耐心。
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
using boost::property_tree::ptree;
int main() {
ptree pt;
pt.push_back(ptree::value_type("pi", ptree("3.14159")));
pt.put("pi.<xmlattr>.id", "pi_0");
write_xml(std::cout, pt);
}
<?xml version="1.0" encoding="utf-8"?>
<pi id="pi_0">3.14159</pi>