DOMElement没有名为'getFirstElementChild xercesc C++的成员
DOMElement has no member named 'getFirstElementChild xercesc C++
我正在编写一个名为GetConfig.cpp
的xml解析器文件。这是我的"GetConfig.h"头文件:
#include <xercesc/dom/DOM.hpp>
#include <xercesc/dom/DOMDocument.hpp>
#include <xercesc/dom/DOMDocumentType.hpp>
#include <xercesc/dom/DOMElement.hpp>
#include <xercesc/dom/DOMImplementation.hpp>
#include <xercesc/dom/DOMImplementationLS.hpp>
#include <xercesc/dom/DOMNodeIterator.hpp>
#include <xercesc/dom/DOMText.hpp>
#include <xercesc/dom/DOMNode.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/util/XMLUni.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLString.hpp>
然而,当我试图编译程序时,我得到:
/home/pribeiro/sandbox/GetConfig.cpp:372: error: 'class xercesc_2_2::DOMElement' has no member named 'getFirstElementChild'
/home/pribeiro/sandbox/GetConfig.cpp:381: error: 'class xercesc_2_2::DOMElement' has no member named 'getFirstElementChild'
/home/pribeiro/sandbox/GetConfig.cpp:392: error: 'class xercesc_2_2::DOMElement' has no member named 'getFirstElementChild'
/home/pribeiro/sandbox/GetConfig.cpp:396: error: 'class xercesc_2_2::DOMElement' has no member named 'getNextElementSibling'
我不知道我为什么会这样。。。在该声明中,我使用:
DOMElement *volume = dynamic_cast<xercesc::DOMElement*>
(volManager);
while(volume){
// to the parsing here
volume = volume->getNextElementSibling();
}
我不确定。。。也许与xercesc
版本有关?当我为xercesc 3.1
编译它时,它运行得很好。
这些函数是在Xerces 3 中引入的
您可以在Xerces 3 API文档中看到它们:
http://xerces.apache.org/xerces-c/apiDocs-3/classDOMElement.html
但不在Xerces 2 API文档中:
http://xerces.apache.org/xerces-c/apiDocs-2/classDOMElement.html
字符串"getFirstElementChild"在Xerces 3.1.1源代码中出现了31次,但在Xerce 2.8.0源代码中根本没有出现:
erik@ubuntu:/tmp$ file=http://archive.apache.org/dist/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz
erik@ubuntu:/tmp$ curl -s $file | tar xfz - -O | grep getFirstElementChild | wc -l
0
erik@ubuntu:/tmp$ file=http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.1.tar.gz
erik@ubuntu:/tmp$ curl -s $file | tar xfz - -O | grep getFirstElementChild | wc -l
31
erik@ubuntu:/tmp$
相关文章:
- C++ 和 xercesc:无法加载消息域
- 不能在 Solaris 的最新编译器中使用带有新 c+11 标志的 xercesc
- C++ "'DOMDocument' : redefinition" Xercesc错误
- DOMElement没有名为'getFirstElementChild xercesc C++的成员
- 我正在使用 Xercesc 来解析 xml 文档。我想知道我将如何使用 XML 值作为程序的输入?
- 使用xercesc准备xsd文件时出错
- DOMNode "undefined" for xercesc on MS Visual C++
- XercesC将输出设置为UTF-8
- 我自己用Xercesc执行xPath的方法
- 使用xercesc::DOMWriter编写xml文件
- Xercesc - NAMESPACE_ERR:试图以与名称空间相关的错误方式创建或更改对象
- 错误: C1083: 无法打开包含文件: 'xercesc/util/XMLString.hpp': 没有这样的文件或目录