我正在尝试使用 C++ 中的 Boost Ptrees 进行一些简单的 xml 解析。read_xml
但是,如果不存在结束标记,该函数似乎只会引发错误。下面抛出一个错误。例如:
<?xml version="1.0" encoding="utf-8"?>
<Grandparent>
<Parent>test<Parent>
</Grandparent>
请注意,Parent 的结束标记没有正斜杠,这将作为错误抛出。即使没有结束标记<Parent>test
,也会引发预期的有效错误。
但是,如果结束标记字符串与开始标记字符串不匹配,则不会引发错误。例如:
<?xml version="1.0" encoding="utf-8"?>
<Grandparent>
<Parent>test</Child>
</Grandparent>
上面的解析就好了。我的代码非常简单,如下所示:
using boost::property_tree::ptree;
ptree pt;
read_xml(xmlpath, pt);
我在这里有什么可以忽略的吗?