2012-07-27 55 views
1

我在寫一個xml解析器文件,名爲GetConfig.cpp。 這裏是GetConfig.h`的」我的頭文件:DOMElement沒有任何成員名爲'getFirstElementChild xercesc C++

#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它工作得很好。

回答

0

這些功能是在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來源中根本沒有:

[email protected]:/tmp$ file=http://archive.apache.org/dist/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz 
[email protected]:/tmp$ curl -s $file | tar xfz - -O | grep getFirstElementChild | wc -l 
0 
[email protected]:/tmp$ file=http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.1.tar.gz 
[email protected]:/tmp$ curl -s $file | tar xfz - -O | grep getFirstElementChild | wc -l 
31 
[email protected]:/tmp$ 
相關問題