0
我想在C#中現有的xmldocument中的另一個子XML節點插入一個XML節點。 我有一個XML文檔,看起來像這樣:我如何創建並在另一個節點內插入一個節點
<?xml version="1.0" encoding="utf-16"?>
<DictionarySerializer>
<item>
<key>statusCode</key>
<value>0</value>
</item>
<item>
<key>statusSeverity</key>
<value>INFO</value>
</item>
<item>
<key>statusMessage</key>
<value>Status OK</value>
</item>
<item>
<key>MerchantAccountNumber</key>
<value>9999999999</value>
</item>
<item>
<key>ReconBatchID</key>
<value>420150418 1Q02144266965047801046AUTO04</value>
</item>
<item>
<key>PaymentGroupingCode</key>
<value>3</value>
</item>
<item>
<key>responsePaymentStatus</key>
<value>Completed</value>
</item>
<item>
<key>TxnAuthorizationTime</key>
<value>2015-04-18T09:14:41</value>
</item>
<item>
<key>TxnAuthorizationStamp</key>
<value>1429348481</value>
</item>
<item>
<key>ClientTransID</key>
<value>aidjl79f</value>
</item>
</DictionarySerializer>
,我需要插入在底部的一個節點,節點的另一節點。 我有這個至今:
XmlDocument xmlCustomValues = new XmlDocument();
xmlCustomValues.LoadXml(OldCustomValues);
XmlNode NodeItem = xmlCustomValues.SelectSingleNode("DictionarySerializer");
XmlNode NodeNewItem = xmlCustomValues.CreateNode(XmlNodeType.Element, "item", null);
XmlNode NodeNewKey = NodeNewItem.??????
,但不知道如何創建NodeNewItem下一個節點(有沒有「CreateNode」方法)。從來沒有做過(明顯),語法對我沒有意義。
這裏有一個答案是工作
string OldCustomValues = this.txtInput.Text;
XmlDocument xmlCustomValues = new XmlDocument();
xmlCustomValues.LoadXml(OldCustomValues);
XmlNode NodeItem = xmlCustomValues.SelectSingleNode("DictionarySerializer");
XmlNode NodeNewItem = xmlCustomValues.CreateNode(XmlNodeType.Element, "item", null);
NodeItem.AppendChild(NodeNewItem);
XmlNode NodeNewKey = xmlCustomValues.CreateNode(XmlNodeType.Element, "key", null);
NodeNewKey.InnerText = "MyKey";
XmlNode NodeNewValue = xmlCustomValues.CreateNode(XmlNodeType.Element, "value", null);
NodeNewValue.InnerText = "MyValue";
NodeNewItem.AppendChild(NodeNewKey);
NodeNewItem.AppendChild(NodeNewValue);
this.txtOutput.Text = xmlCustomValues.OuterXml;
這對你有用嗎? – Legends
是否這樣? NodeItem.AppendChild(NodeNewItem); XmlNode NodeNewKey = xmlCustomValues.CreateNode(XmlNodeType.Element,「key」,null); NodeNewKey.InnerText =「MyKey」; XmlNode NodeNewValue = xmlCustomValues.CreateNode(XmlNodeType.Element,「value」,null); NodeNewValue.InnerText =「MyValue」; NodeNewItem.AppendChild(NodeNewKey); NodeNewItem.AppendChild(NodeNewValue); – MC9000
對不起,評論部分確實需要在StackExchange上更好(無法格式化!) – MC9000