2012-07-25 95 views
2

我正在嘗試使用庫生成類似於以下的XML。我找不到一個合適的例子。任何有這方面經驗的人請告知?使用Xerces-C++生成XML

<ad xsi:noNamespaceSchemaLocation="smaato_ad_v0.9.xsd" modelVersion="0.9"> 
    <richmediaAd> 
     <content> 
      <script>yadda...yadda... richmedia content ...yadda</script> 
     </content> 
     <width>728</width> 
     <height>90</height> 
     <beacons> 
      <beacon>http://mysite.com/beacons/mybeacon1</beacon> 
      <beacon>http://mysite.com/beacons/mybeacon2</beacon> 
     </beacons> 
    </richmediaAd> 
</ad> 
+2

你有任何代碼顯示你現在在哪裏? – 2012-07-25 14:55:27

+0

我按照這裏的例子http://www.codeproject.com/Articles/31088/Xerces-for-C-Tutorial-Using-Visual-C,但我不確定它是否會滿足我的要求 – godzilla 2012-07-25 14:56:34

+2

好吧,什麼你的要求是?這個例子如何不符合他們?你有什麼麻煩?請編輯你的問題,並回答這些問題。 – 2012-07-25 14:58:06

回答

5

替換CodeProject上樣品的代碼的文檔的創建與

p_DOMDocument = p_DOMImplementation->createDocument(0, L"ad", 0); 

創建文檔與廣告元素作爲根節點。

DOMElement* pEle = p_DOMDocument->createElement(L"richmediaAd"); 
pRoot->appendChild(pEle); 

設置與調用屬性

pEle->setAttribute(L"modelVersion", L"0.9"); 

設置文本內容是這樣的:

訪問與

DOMElement* pRoot = p_DOMDocument->getDocumentElement(); 

文檔中的根元素用這樣的方法調用創建單一元素:

DOMText* pText = p_DOMDocument->createTextNode(L"yadda...yadda..."); 
pEle->appendChild(pText); 

希望這會有幫助

+0

非常感謝幫助:) – godzilla 2012-07-27 11:57:26

+0

最後一個問題,我需要將屬性設置爲最高級別 - 所以xsi:noNamespaceSchemaLocation =「smaato_ad_v0.9.xsd」modelVersion =「0.9」將使用標記廣告而不是richmediaad - 這可能與xerces? – godzilla 2012-07-27 15:39:56