青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

網(wǎng)絡服務器軟件開發(fā)/中間件開發(fā),關注ACE/ICE/boost

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks

Xerces C++ 學習筆記

Xerces C++ 學習筆記

1. ? 初始化平臺:

XMLPlatformUtils::Initialze()

2. ? 銷毀平臺:

XMLPlatformUtils::Terminate();

3. ? 加載分析報文

XercesDOMParser? *parser = new XercesDOMParser();

Parser->parse( 參數(shù) ); 這個參數(shù)可以直接是文件名,也可以是內(nèi)存的數(shù)據(jù),具體的查看 API

4. ? 數(shù)據(jù)格式轉換

XMLString.transcode() 這個方法有多個重載,既可以把 XMLCh * 格式的數(shù)據(jù)轉換成 char * 的數(shù)據(jù),也可以把 char * 的數(shù)據(jù)轉換成 XMLCh *, 我們也可以利用這個函數(shù)來初始化 XMLCh 格式類型的數(shù)組,比如 XMLCh temp[100];

??????????????????????????? XMLString.transcode(“LS”,temp,99);// 用“ LS ”初始化 temp 這個數(shù)組的內(nèi)容。

5. ? 分析報文后,如何得到文檔的樹型結構

DOMDocument *xmlDoc = parser->getDocument();

6. ? 得到樹型結構后,如何得到第一個根節(jié)點

DOMElement *root = xmlDoc->getDocumentElement();

7. ? 如何遍歷文檔的結構

遍歷一個樹型的文檔結構有三種方法。

1 .使用 DOMNodeIterator

DOMNodeIterator *iterator = xmlDoc->createNodeIterator(root, DOMNodeFilter::SHOW_TEXT,? NULL, true);

for ( DOMNode * current = (DOMNode *)iterator->nextNode(); current != 0; current = (DOMNode *)iterator->nextNode() )

{

??????? string strValue = XMLString::transcode(current->getNodeValue());

??????? std::cout <<strValue<<endl;

?}// 以上就可以把 xml 文檔中的屬性為 NODETEXT 節(jié)點的內(nèi)容給打印出來。

2 .使用 DOMTreeWalker

D OMTreeWalker *walker =??xmlDoc->createTreeWalker(root, DOMNodeFilter::SHOW_TEXT, NULL, true);

f or (DOMNode *current = walker->nextNode(); current != 0; current = walker->nextNode() )? ?

?{

? ?? ?char *strValue = XMLString::transcode( current->getNodeValue() );? ? ?std::cout <<strValue;
? ?? ?? ?? ?XMLString::release(&strValue);? ?

}

3 .使用子節(jié)點直接遍歷樹型結構

?? DOMNode *n = (DOMNode*)xmlDoc->getDocumentElement();

// 下面開始遍歷這個樹的結構

if(n)

{

??????? if (n->getNodeType() == DOMNode::ELEMENT_NODE)

??????? {

?????????????? ?DOMNodeList* nodeList = n->getChildNodes();

?????????????? ?unsigned int nListLen = nodeList->getLength();

?????????????? ?for (unsigned int i=0; i<nListLen; ++i)

?????????????? ?{

????????????????????? DOMNode* nodeTemp = nodeList->item(i);

????????????????????? if (nodeTemp->getNodeType() == DOMNode::ELEMENT_NODE)

????????????????????? {

???????????????????????????? for (DOMNode* node1=nodeTemp->getFirstChild(); node1!=0; node1=node1->getNextSibling())

???????????????????????????? {

??????????????????????????????????? char* name = XMLString::transcode(node1->getNodeName());

??????????????????????????????????? string strTemp = name;

??????????????????????????????????? if (strTemp == "name")?? // 這個就是跟 xml 文檔中 name 節(jié)點匹配

??????????????????????????????????? {

??????? char* myname=XMLString::transcode(node1->getFirstChild()->getNodeValue());

?????????????????????????????????????????? cout<<myname<<endl;

??????????????????????????????????? }

???????????????????????????? }

????????????????????? }

????????????????????? continue;

?????????????? }

??????? }

}

8. ? 如何添加子節(jié)點。

??? //Add new (empty) Element to the root element
???? DOM_Element parentNode = …;// parent is known
???? DOM_Element prodElem = doc->createElement (tagName);
???? parentNode->appendChild (prodElem);

9. ? 在加載 xml 文件分析前,有兩種加載方式:一種直接通過文件加載,一種是通過內(nèi)存加載

1. ? String xmlfile = “a.xml”;

Parser->parse(xmlfile.c_str());

??????? 2.MemBufInputSource ? 這個類處理內(nèi)存的數(shù)據(jù),然后利用 parser->parse(*men)//men MemBufInputSource ? 的實例指針對象。

?

10. ????????????? 在加載分析報文前,可以設置 XercesDOMParser 的一些屬性。

??????? P arser->setValidationScheme( XercesDOMParser::Val_Auto );
? ??? ????Parser->setDoNamespaces( false );
? ? ?????Parser->setDoSchema( false );
? ? ?????Parser->setLoadExternalDTD( false );

??????? // 這個部分的代碼可以參照類庫自帶的例子。

11. ????????????? 我們也可以設置錯誤的處理代碼。

??????? 這部分可以查看類庫下的 DOMPrint 例子。 DOMError ,DOMErrorHandler

12. ????????????? 也可以設置分析過濾的屬性

???????? DOMNodeFilter? 這個類能起到這個效果

13. ????????????? 要美化文檔的格式化輸出,我們可以使用

??????? XMLFormatter??? XMLFormatTarget? , 用的時候可以查看。

14????? 我們也可以通過 DOMImplementationLs , DOMImplementation 前者是后者的基類。通過這個類我們可以創(chuàng)建 DOMBuilder parser )或 DOMWriter (序列,既可以寫到屏幕,也可以寫到文件)

posted on 2007-03-15 15:54 true 閱讀(4801) 評論(4)  編輯 收藏 引用 所屬分類: 其它開源庫

Feedback

# re: Xerces C++ 學習筆記[轉] 2008-03-20 11:02 o
good!  回復  更多評論
  

# re: Xerces C++ 學習筆記[轉] 2009-05-22 14:02
Excellent!~  回復  更多評論
  

# re: Xerces C++ 學習筆記[轉] 2009-06-18 21:18 zhu
LZ還有沒啊  回復  更多評論
  

# re: Xerces C++ 學習筆記[轉] 2009-06-18 21:18 zhu
我的QQ 61975993
LZ加我呀  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            嫩草影视亚洲| 日韩视频一区二区三区| 亚洲黄一区二区三区| 伊人成人在线视频| 国产麻豆午夜三级精品| 国产精品欧美日韩一区二区| 欧美日韩免费视频| 国产精品久久亚洲7777| 国产欧美一区在线| 在线观看不卡av| 99热在线精品观看| 亚洲中午字幕| 久久久久久久999精品视频| 久久亚洲春色中文字幕久久久| 亚洲高清不卡在线观看| 国产乱码精品一区二区三区忘忧草 | 狠狠色伊人亚洲综合成人| 亚洲国产精品久久久久秋霞蜜臀 | 欧美一区二区观看视频| 久久综合亚洲社区| 国产精品国产a级| 亚洲国产成人久久综合一区| 亚洲视频综合| 美女诱惑一区| 亚洲一区二区三区精品视频 | 亚洲欧美日韩精品在线| 欧美劲爆第一页| 国内在线观看一区二区三区| 在线一区观看| 亚洲第一色在线| 午夜日韩在线观看| 欧美视频三区在线播放| 亚洲国产福利在线| 久久精品夜色噜噜亚洲a∨| 日韩一区二区精品葵司在线| 久久综合亚州| …久久精品99久久香蕉国产| 欧美一区国产一区| 亚洲视频在线观看免费| 欧美精品日本| 亚洲精品色婷婷福利天堂| 久久综合久久综合久久| 欧美一区二区视频97| 国产精品国产精品| 亚洲午夜一区二区| 99ri日韩精品视频| 欧美精品在线一区| 亚洲激情网站| 欧美风情在线观看| 美日韩精品免费| 亚洲国产精品一区在线观看不卡 | 亚洲激情综合| 久久综合亚州| 久久久蜜臀国产一区二区| 国产综合激情| 久久综合999| 久久一区二区三区国产精品| 国产一区二区日韩精品| 国产精品v一区二区三区| 欧美aa国产视频| 在线欧美日韩| 欧美不卡一区| 美日韩精品视频| 亚洲精品偷拍| 亚洲精品国产精品国自产在线| 免费不卡在线观看| 亚洲黄色尤物视频| 亚洲黄一区二区三区| 欧美久久成人| 亚洲午夜在线视频| 亚洲欧美不卡| 韩国v欧美v日本v亚洲v| 狼狼综合久久久久综合网| 久久一二三国产| 日韩视频在线你懂得| 亚洲美女毛片| 国产精品中文字幕欧美| 久久久亚洲欧洲日产国码αv| 欧美在线一二三四区| 在线不卡欧美| 日韩视频在线一区二区三区| 欧美日韩午夜精品| 久久爱www.| 欧美成人情趣视频| 亚洲免费网站| 巨乳诱惑日韩免费av| 一区二区三区高清视频在线观看| 一区二区电影免费观看| 经典三级久久| 日韩视频免费观看高清在线视频 | 亚洲美女免费精品视频在线观看| 日韩亚洲国产精品| 狠狠干狠狠久久| 亚洲精品看片| 狠狠色丁香久久婷婷综合丁香| 亚洲国产激情| 国产日韩在线一区| 亚洲精品孕妇| 1000部国产精品成人观看| 一区二区三区日韩精品视频| 激情成人av在线| 9色精品在线| 雨宫琴音一区二区在线| 亚洲天堂av电影| 91久久嫩草影院一区二区| 亚洲字幕在线观看| 一本一本a久久| 六月天综合网| 久久综合九色综合久99| 国产精品你懂的| 亚洲久久一区二区| 最新日韩精品| 久久人人97超碰国产公开结果| 亚洲欧美日韩国产成人| 欧美激情a∨在线视频播放| 久久精品夜色噜噜亚洲a∨| 欧美午夜视频一区二区| 亚洲国语精品自产拍在线观看| 久久国产精品亚洲77777| 欧美大片免费| 久久久久久91香蕉国产| 国产精品久久久久久久久| 欧美激情按摩在线| 在线看一区二区| 久久久一区二区三区| 久久精品国产999大香线蕉| 国产精品高精视频免费| 日韩性生活视频| 亚洲午夜视频在线| 欧美午夜视频| 亚洲视频第一页| 午夜精品亚洲一区二区三区嫩草| 欧美日韩欧美一区二区| 亚洲精品影视| 亚洲深夜福利在线| 欧美日韩午夜在线视频| 日韩视频―中文字幕| 一区二区三区四区五区精品| 欧美区在线观看| 日韩亚洲在线| 亚洲综合色丁香婷婷六月图片| 欧美午夜精品理论片a级大开眼界| 亚洲精品影视| 亚洲综合色网站| 国产精品久久91| 欧美亚洲一区在线| 久久综合精品国产一区二区三区| 一区二区在线视频观看| 久久在线免费观看| 亚洲激情视频在线| 亚洲永久精品国产| 国产区精品在线观看| 欧美怡红院视频| 欧美黄色免费| 一区二区三区视频免费在线观看| 欧美性做爰毛片| 欧美一区=区| 亚洲第一区在线| 亚洲欧美日韩在线不卡| 一区二区三区在线免费播放| 免费中文字幕日韩欧美| 一本大道久久精品懂色aⅴ| 久久高清国产| 亚洲精品一品区二品区三品区| 欧美日韩综合视频网址| 亚洲欧美日韩国产一区二区| 美女国内精品自产拍在线播放| 日韩视频在线观看国产| 国产精品一区免费视频| 老司机精品视频网站| 在线综合+亚洲+欧美中文字幕| 久久野战av| 亚洲免费视频在线观看| 亚洲国产日韩美| 国产精品一区免费观看| 蜜臀99久久精品久久久久久软件| 中文欧美日韩| 亚洲国产欧美一区二区三区同亚洲 | 亚洲欧美久久| 揄拍成人国产精品视频| 欧美视频不卡中文| 久久影视精品| 午夜精品亚洲| 国产精品久久夜| 亚洲国产精品成人| 小黄鸭视频精品导航| 亚洲国产天堂久久综合| 国产欧美日本一区二区三区| 欧美大片免费久久精品三p| 午夜久久资源| 亚洲日韩中文字幕在线播放| 久久久国产精品亚洲一区| 一本色道久久综合狠狠躁篇的优点| 国产一区二区三区精品久久久| 欧美日韩另类视频| 免费欧美高清视频| 久久久免费av| 久久www免费人成看片高清| 亚洲性视频网址| 中文网丁香综合网|