0
從「msxml3.dll」庫中使用MSXML2函數時,我試圖複製XML文檔中的部分,但它不像我期望的那樣工作。MSXML node.clode方法無法按預期方式工作
這裏是XML:
<result>
<Target>
<Point>
<pos dimension="2">60.384005 5.333862</pos>
</Point>
</Target>
</result>
我想要的是添加多個部分。所以我想把這個節點複製下來並放到現有的<Target>
節點下。我幾乎相信我應該使用克隆方法,但它似乎不起作用。 的C++代碼:
typedef MSXML2::IXMLDOMNodePtr XmlNode;
XmlNode pNode = pXMLRequest->selectSingleNode("//result");
if(pNode==NULL)
{ m_szErrorText = m_szErrorText + _T(" 'result' node not found");return FALSE;}
XmlNode pTargetNode = pNode->selectSingleNode("Target");
XmlNode pNewTargetNode = pTargetNode->cloneNode(true);
pNode->appendChild(pNewTargetNode);
但是當我運行這段代碼沒有任何反應到XML文檔。當我檢查pNewTargetNode中的XML文本時,我發現它只是'<result>'
,這只是節點的名稱,而我期望它包含<Target>...</Target>
中的所有節點。有什麼我失蹤?
你能提供異常消息? – Seb 2012-03-21 13:31:03
我錯了。上面顯示的代碼實際上並沒有引發異常(這是大段內容的摘錄)。它只是不起作用,XML本身沒有改變。我已經從問題中刪除了「例外」文本。 – 2012-03-22 07:45:50