gpt4 book ai didi

c++ - DOMElement 没有名为'getFirstElementChild xercesc C++ 的成员

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:21 24 4
gpt4 key购买 nike

我正在编写一个名为 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 次,但在 Xerces 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++ - DOMElement 没有名为'getFirstElementChild xercesc C++ 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com