-1

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例外をスローします。

二重引用符のチェックを無視するように設定できるフラグはありますか?

4

2 に答える 2

0

XML 属性は引用符で囲む必要があります。

http://www.w3schools.com/xml/xml_attributes.asp

これらの引用符を含める必要があります。そうしないと、無効なマークアップになります。

于 2012-05-15T03:33:07.123 に答える
0

コンテンツを適切に作成する責任は消費者ではなくプロデューサーにあるというのは、XML の哲学の大部分を占めています。これは、正しくない XML を修復するよりも、正しい XML を生成する方がはるかに簡単でコストがかからないためです。XML を書くよりも読む人の方がはるかに多いのです。このような品質に対する姿勢を知らない人が作成した XML (または非 XML) に悩まされているとしたら、それは難しい問題です。

于 2012-05-15T07:39:30.327 に答える