【发布时间】:2012-05-15 03:29:00
【问题描述】:
我使用 boost::property_tree 对象来解析 xml,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<root>
<node attr="attr_str"/>
</root>
当我调用 read_xml() 来解析这个内容时,它运行良好。但是,如果我像这样删除 attr 属性周围的那些双引号:
<?xml version="1.0" encoding="utf-8"?>
<root>
<node attr=attr_str/>
</root>
它抛出 xml_parse_error 异常。
是否可以设置任何标志来忽略对双引号的检查?
【问题讨论】:
-
attr的值周围没有双引号的文档不是有效的 XML。为什么你期望(并且想要)一个 XML 解析器来解析无效的 XML? -
我知道你的意思。但是我的项目已经有一些带有这些乱七八糟的东西的 xml 文件,所以我试图让我的解析器与它们兼容。
标签: xml boost boost-propertytree