TinyXML 根據屬性名稱,屬性值返回對應的元素節點(原始碼)

來源:互聯網
上載者:User

遞迴實現 根據元素屬性名稱,屬性值,返回對應的元素節點。詳情看代碼。

 

//遞迴所有節點TiXmlElement*  RecursionAllNode(TiXmlElement * pElement,string attributName,string attributValue){string  strValue;TiXmlElement* retValue;if (pElement== NULL){return NULL;}else if (pElement->NoChildren()) {pElement->QueryValueAttribute(attributName,&strValue);if (attributValue==strValue){return pElement;} returnRecursionAllNode(NULL,attributName,attributValue);}else if (!pElement->NoChildren()){pElement->QueryValueAttribute(attributName,&strValue);if (attributValue==strValue){cout<<pElement->Value()<<endl;return pElement;}TiXmlElement * pChilds = pElement->FirstChildElement();//第一個子結點retValue=RecursionAllNode(pChilds,attributName,attributValue);if (retValue!=NULL){return retValue;}//遞迴子結點pChilds = pChilds->NextSiblingElement();while ( NULL != pChilds )//遞迴處理此結點下的所有結點{retValue=RecursionAllNode(pChilds,attributName,attributValue);if (retValue!=NULL){return retValue;}pChilds = pChilds->NextSiblingElement();}return RecursionAllNode(NULL,attributName,attributValue);}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.