【发布时间】:2017-07-31 08:53:15
【问题描述】:
我正在使用xerces-c 中的C++ 创建一个XML 文档。我面临的问题是我需要在文档中包含 cdata 部分。我为此找到了一个函数createCDATASection。但它的返回值是DOMCDATASection 类型,AppendChild 函数接受DOMNode 类型的参数。这里要使用铸造吗?或者有没有其他方法。
【问题讨论】:
-
根据xerces.apache.org/xerces-c/apiDocs-3/classDOMCDATASection.htmlDOMCDATASection 继承自 DOMNode 所以不需要强制转换
-
@systemcpro :在直接使用时,我收到错误为 `error C2664: 'xercesc_3_1::DOMNode *xercesc_3_1::DOMNode::appendChild(xercesc_3_1::DOMNode *)' :无法转换参数 1从 'xercesc_3_1::DOMCDATASection *' 到 'xercesc_3_1::DOMNode *' 1> 指向的类型不相关;转换需要 reinterpret_cast、C-style cast 或 function-style cast`
-
由于验证,我们将所有模型都转换为使用 xerces。大约一年前,虽然我不太记得实现细节,但我知道代码中没有一个 dynamic_cast。我想知道我们是否正在查看相同的 API?看看这个链接ibm.com/developerworks/cn/xml/x-xercc2/sidefile2.html