Xml 没有缩进字符但有换行符
Xml without indent char but with new line
有没有一种方法可以使用 boost::property_tree 来编写 xml,不使用缩进字符但使用换行符?
考虑这段代码
using namespace boost::property_tree;
int main() {
ptree tree;
ptree* root = &tree.add("root", "");
root->add("something", "yes");
root->add("something2", "no");
write_xml("test.xml", tree, std::locale(), xml_writer_settings<ptree::key_type>('\n', 0));
}
当indent_count设置为0时,我们得到这个格式
<?xml version="1.0" encoding="utf-8"?>
<root><something>yes</something><something2>no</something2></root>
我想要实现的是:
<?xml version="1.0" encoding="utf-8"?>
<root>
<something>yes</something>
<something2>no</something2>
</root>
有谁知道如何在不通过文件操作添加“\n”的情况下做到这一点?
我正在使用 boost 1_66.
bool want_pretty = settings.indent_count > 0;
然后,在第 101 行:
if (want_pretty)
stream << Ch('\n');
因此,如果您想要换行分隔符,您必须在设置中设置一个或多个缩进字符。
有没有一种方法可以使用 boost::property_tree 来编写 xml,不使用缩进字符但使用换行符?
考虑这段代码
using namespace boost::property_tree;
int main() {
ptree tree;
ptree* root = &tree.add("root", "");
root->add("something", "yes");
root->add("something2", "no");
write_xml("test.xml", tree, std::locale(), xml_writer_settings<ptree::key_type>('\n', 0));
}
当indent_count设置为0时,我们得到这个格式
<?xml version="1.0" encoding="utf-8"?>
<root><something>yes</something><something2>no</something2></root>
我想要实现的是:
<?xml version="1.0" encoding="utf-8"?>
<root>
<something>yes</something>
<something2>no</something2>
</root>
有谁知道如何在不通过文件操作添加“\n”的情况下做到这一点? 我正在使用 boost 1_66.
bool want_pretty = settings.indent_count > 0;
然后,在第 101 行:
if (want_pretty)
stream << Ch('\n');
因此,如果您想要换行分隔符,您必须在设置中设置一个或多个缩进字符。