XML 来自 boost ptree 的版本和编码

XML version and encoding from boost ptree

我正在使用 boost ptree 来解析 xml

read_xml(stream, pt, trim_whitespace | no_comments);



<?xml version="1.0" encoding="windows-1252"?>
<rss>  
<channel>.....</channel> 
</rss>

如何读取 xml 的版本和编码: 我尝试了以下

std::string encoding =  pt.get<std::string>("<xmlattr>.encoding", "");

给出空字符串。 如何获取xml的版本和编码?

处理指令不是 XML 元素(事实上,它是...处理指令)。

处理指令不具有 <xmlattr> 意义上的属性。你会注意到没有对应的ptree节点。

这是一种未记录的方法来实现您可能想要的:Add xml-stylesheet processing instructions to boost property_tree