Я решил попробовать учебник на этом сайте
http://www.csharphelp.com/2006/05/creating-a-xml-document-with-c/
Вот мой код, который более или менее такой же, но немного легче для чтения
using System;
using System.Xml;
public class Mainclass
{
public static void Main()
{
XmlDocument XmlDoc = new XmlDocument();
XmlDocument xmldoc;
XmlNode node1;
node1 = XmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
XmlDoc.AppendChild(node1);
XmlElement element1;
element1 = XmlDoc.CreateElement("", "ROOT", "");
XmlText text1;
text1 = XmlDoc.CreateTextNode("this is the text of the root element");
element1.AppendChild(text1);
// appends the text specified above to the element1
XmlDoc.AppendChild(element1);
// another element
XmlElement element2;
element2 = XmlDoc.CreateElement("", "AnotherElement", "");
XmlText text2;
text2 = XmlDoc.CreateTextNode("This is the text of this element");
element2.AppendChild(text2);
XmlDoc.ChildNodes.Item(1).AppendChild(element2);
}
}
Пока мне нравится XmlDocument, но я не могу понять, как работает эта строка
XmlDoc.ChildNodes.Item(1).AppendChild(element2);
В частности, часть () его элемента
в соответствии с MSDN ...
//
// Summary:
// Retrieves a node at the given index.
//
// Parameters:
// index:
// Zero-based index into the list of nodes.
//
// Returns:
// The System.Xml.XmlNode in the collection. If index is greater than or equal
// to the number of nodes in the list, this returns null.
Однако я все еще не совсем уверен, что означает «индекс» или что делает Item (). Он движется вниз по дереву или по ветке?
Кроме того, когда я смотрел на это, я думал, что это закончится вот так
то, что я думал, произойдет:
<?xml version="1.0"?>
<ROOT>this is the text of the root element</ROOT>
<AnotherElement>This is the text of this element</AnotherElement>
но все закончилось вот так
Фактический объем производства
<?xml version="1.0"?>
<ROOT>this is the text of the root element
<AnotherElement>This is the text of this element</AnotherElement>
</ROOT>
(добавлено форматирование)