[root@pr1]# nano /etc/init.d/gmetad
如何从上面的程序中删除编码 我试图擦除它但是给出了seg错误
我得到的几个例子但它没有使用ptree,如果可能的话我想从ptree元素中删除
答案 0 :(得分:1)
你不想要从ptree元素中删除它。因为它从来不是元素的一部分。
它是XML文档的一部分,删除它会使少的XML文档:http://xmlwriter.net/xml_guide/xml_declaration.shtml
真的,想要删除XML声明是一个明确的信号,表明某人并不了解XML以及如何使用它。
如果您不介意使用未记录的函数,可以编写单个元素,这样您就不会看到XML声明:
<强> Live On Coliru 强>
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
int main() {
boost::property_tree::ptree pt;
{
std::istringstream iss("<methodCall><methodName>number</methodName></methodCall>");
read_xml(iss, pt);
}
// write_xml(std::cout, pt); // with xml declaration:
// without
boost::property_tree::xml_parser::write_xml_element(std::cout, pt.front().first, pt.front().second, 0, boost::property_tree::xml_writer_make_settings<std::string>(' ', 0));
}
打印
<methodCall><methodName>number</methodName></methodCall>