添加 xml-评论到 boost::property_tree
Adding xml-comments to boost::property_tree
我正在使用 boost::property_tree::xml_parser 创建一个 xml 文件。现在我还需要在 xml 文件中添加注释。
我做了一些研究,发现 JSON 中不允许评论,因此 boost::property_tree::json_parser...
也不支持评论
此外,我发现,在阅读 xml-文件时,有一个 no_comments 标志用于跳过 xml-评论...
但是向文件添加 xml 注释呢?
如果没有使用上述标志禁用注释,它们将表示为名为 <xmlcomment>
的节点(就像属性位于名为 <xmlattr>
的节点下一样):
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
int main() {
boost::property_tree::ptree pt;
pt.put("some.node.<xmlattr>.attr1", "value1");
pt.put("some.node.<xmlcomment>", "\nEhffvna Jnefuvc\nTb Shpx Lbhefrys\n");
write_xml(std::cout, pt);
}
打印
<?xml version="1.0" encoding="utf-8"?>
<some><node attr1="value1"><!--
Ehffvna Jnefuvc
Tb Shpx Lbhefrys
--></node></some>
我正在使用 boost::property_tree::xml_parser 创建一个 xml 文件。现在我还需要在 xml 文件中添加注释。
我做了一些研究,发现 JSON 中不允许评论,因此 boost::property_tree::json_parser...
也不支持评论此外,我发现,在阅读 xml-文件时,有一个 no_comments 标志用于跳过 xml-评论...
但是向文件添加 xml 注释呢?
如果没有使用上述标志禁用注释,它们将表示为名为 <xmlcomment>
的节点(就像属性位于名为 <xmlattr>
的节点下一样):
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
int main() {
boost::property_tree::ptree pt;
pt.put("some.node.<xmlattr>.attr1", "value1");
pt.put("some.node.<xmlcomment>", "\nEhffvna Jnefuvc\nTb Shpx Lbhefrys\n");
write_xml(std::cout, pt);
}
打印
<?xml version="1.0" encoding="utf-8"?>
<some><node attr1="value1"><!--
Ehffvna Jnefuvc
Tb Shpx Lbhefrys
--></node></some>