【发布时间】:2018-09-23 01:22:31
【问题描述】:
我正在尝试使用 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);
这里有什么我忽略的东西吗?
【问题讨论】: