0
這是我的兩個xml文檔。如何用c#中的另一個xml元素替換xml元素?
這個xml存儲在paraouterXml字符串中。
<w:tbl>
<w:tblPr>
</w:tblPr>
<w:tblGrid>
</w:tblGrid>
</w:tbl>
此XML存儲在tblMetaInfo字符串中。
<root>
<w:tblPr>
<w:tblStyle w:val="TableGrid" />
<w:tblW w:w="0" w:type="auto" />
<w:tblLook w:val="04A0" />
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="1947" />
<w:gridCol w:w="1947" />
</w:tblGrid>
</root>
所以,在這裏我想更換paraouterXml的<w:tblPr>,<w:tblGrid>
與tblMetaInfo的<w:tblPr>,<w:tblGrid>
元素。
這是C#代碼...
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(table.OuterXml);
XmlNode newNode = xDoc.DocumentElement;
XmlNodeList tblPrNode = xDoc.GetElementsByTagName("w:tblPr");
tblPrNode[0].RemoveAll();
XmlNodeList tblGridNode = xDoc.GetElementsByTagName("w:tblGrid");
tblGridNode[0].RemoveAll();
XmlDocument xDoc1 = new XmlDocument();
xDoc1.LoadXml(tblMetaInfo);
XmlNode newNode1 = xDoc1.DocumentElement;
XmlNodeList tblPrNode1 = xDoc1.GetElementsByTagName("w:tblPr");
XmlNodeList tblGridNode1 = xDoc1.GetElementsByTagName("w:tblGrid");
tblPrNode[0].ReplaceChild(tblPrNode1[0], tblPrNode[0]);
tblGridNode[0].ReplaceChild(tblGridNode1[0], tblGridNode[0]);
但它拋出一些錯誤...
請指引我走出這個問題...
你得到了什麼確切的錯誤? –
而'一些錯誤'是....? – rene
錯誤消息有些像這樣「newChild是從創建此節點的文檔創建的不同文檔創建的」 – Saravanan