2012-07-25 57 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