Заставьте TinyXML анализировать только один узел

Я пытаюсь понять, как дать TinyXML буфер или файл, который содержит более одного узла XML, и заставить его анализировать только один из них за раз. Похоже, что TiXmlDocument::Parse() имеет некоторую функциональность для этого, так как он возвращает указатель char const*, а возвращаемый указатель кажется за пределами текста.

Причина, по которой я хочу это сделать, заключается в том, что у меня могут быть усеченные или искаженные входные данные, и я хочу проанализировать как можно больше. Например:

<outer>
    <inner a="b">value</inner>
</outer>
<outer>
    <inner c="d">again</inner>
</outer>
<outer

person spurserh    schedule 23.12.2010    source источник


Ответы (1)


Метод Parse() является виртуальным, вы можете использовать Parse() для любого узла TinyXML. В вашем примере:

элемент TiXmlElement; ele.Parse( p, 0 /* данные анализа могут быть нулевыми */, TIXML_ENCODING_UTF8 );

Будет читаться в одном элементе.

person grinliz    schedule 28.12.2010