我在文件的末尾添加了一个新节点,但是我收到了一个写错误:
该文档已有一个'DocumentElement'节点.
我的代码:
XmlDocument doc = new XmlDocument();
doc.Load(directory);
XmlNode refElem = doc.LastChild; // Last node
foreach (MoneyEnter myList in list)
{
XmlElement entryElement = doc.CreateElement("entry");
entryElement.SetAttribute("type", myList.TypeAmount);
XmlElement amountElement = doc.CreateElement("amount");
amountElement.InnerText = Convert.ToString(myList.Amount);
XmlElement dateElement = doc.CreateElement("date");
dateElement.InnerText = Convert.ToString(myList.Date);
XmlElement descriptionElement = doc.CreateElement("description");
XmlCDataSection cdataDescription = doc.CreateCDataSection(myList.Description);
descriptionElement.AppendChild(cdataDescription);
XmlElement categoryElement = doc.CreateElement("category");
categoryElement.InnerText = myList.Category;
entryElement.AppendChild(amountElement);
entryElement.AppendChild(dateElement);
entryElement.AppendChild(descriptionElement);
entryElement.AppendChild(categoryElement);
doc.InsertAfter(entryElement, refElem); //add new node in end of file
}
doc.Save(directory);
Run Code Online (Sandbox Code Playgroud)
我的XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<entries>
<entry …Run Code Online (Sandbox Code Playgroud) 如何在现有XML文件的末尾添加新节点?
我明白怎么做,但到底怎么样?
例如,我有以下XML文件,需要在文件末尾添加一个新节点"entry":
<?xml version="1.0" encoding="utf-8" ?>
- <entries>
- <entry type="debit">
<amount>100</amount>
<date>11.11.2010</date>
- <description>
- <![CDATA[ ???????? ??????]]>
</description>
<category>????????</category>
</entry>
- <entry type="credit">
<amount>50</amount>
<date>11.11.2010</date>
- <description>
- <![CDATA[ ???????? ??????]]>
</description>
<category>????????</category>
</entry>
- <entry type="debit">
<amount>100</amount>
<date>11.11.2010</date>
- <description>
- <![CDATA[ ???????? ??????]]>
</description>
<category>????????</category>
</entry>
</entries>
Run Code Online (Sandbox Code Playgroud)