在 DXL 中从 XML 解析 CDATA
Parsing CDATA from XML in DXL
我正在为我正在使用 DOORs 扩展语言的工具构建一个 XML 解析器,我 运行 遇到解析信息的问题。
我一直在使用这组函数来解析 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_) 方法来获取嵌套文本,但 returns 什么都没有。
任何方向将不胜感激。这是我正在使用的 XML 片段:
<xmlTag
att = "a"
btt = "b"
ctt = "c" >
<![CDATA[...]]>
</xmlTag>
我最终使用另一个库来解决处理 CDATA 解析的问题:https://github.com/domoran/dxlstdlib
我正在为我正在使用 DOORs 扩展语言的工具构建一个 XML 解析器,我 运行 遇到解析信息的问题。
我一直在使用这组函数来解析 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_) 方法来获取嵌套文本,但 returns 什么都没有。
任何方向将不胜感激。这是我正在使用的 XML 片段:
<xmlTag
att = "a"
btt = "b"
ctt = "c" >
<![CDATA[...]]>
</xmlTag>
我最终使用另一个库来解决处理 CDATA 解析的问题:https://github.com/domoran/dxlstdlib