Я создаю синтаксический анализатор XML для инструмента, над которым работаю, на языке расширения DOORs, и у меня возникает проблема с анализом информации.
Я использовал эту группу функций для разбора XML, и до сих пор все работало просто отлично:
DOM_Document_ getDocumentBuffer_ (DOM_Document_, Buffer&)
string getStringAttribute_ (DOM_Element_, string)
string getElementName_ (DOM_Element_)
string setStringAttribute_ (DOM_Element_, string, string)
void ::do (DOM_Element_&, DOM_Element_, void)
void ::do (DOM_Element_&, DOM_Element_, void)
bool hasAttribute_ (DOM_Element_, string)
bool hasChildElements_ (DOM_Element_)
DOM_Element_ getDocumentElement_ (DOM_Document_)
string getElementText_ (DOM_Element_)
DOM_Document_ parseXMLBuffer_ (Buffer)
DOM_Document_ parseXMLString_ (string)
Хотя, когда я попадаю в блок CDATA, я начинаю сталкиваться с проблемами. Я предполагаю, что смогу использовать метод getElementText_ (DOM_Document_), чтобы получить вложенный текст, но это ничего не возвращает.
Любое направление будет с благодарностью. Вот фрагмент XML, с которым я работаю:
<xmlTag
att = "a"
btt = "b"
ctt = "c" >
<![CDATA[...]]>
</xmlTag>