C#中使⽤XmlDocument类来创建和修改XML格式的数据
⽂件
通过XmlDocument类修改XML⽂档数据,通常需要以下⼏个主要步骤或其中⼏个步骤。
(1)获取⼀个包含XML⽂档数据的XmlDocument类对象,通常有两种⽅法来实现这个功能:
通过XmlDocument类的构造函数创建不包含任何结点的空对象,常⽤默认构造函数。
(2)通过XmlDocument类的ChildNodes和Item属性获取某个结点(XmlNode类型),通过XmlNode的Name、Value、InnerText等属性修改选中结点的数据。
(3)通过XmlDocument类的CreateElement()和CreateAttribute()⽅法,创建新的元素结点和属性结点,并通过XmlNode的Name、Value、InnerText等属性设置新结点的属性。CreateElement()和CreateAttribute()的常⽤定义如下。CreateElement(string name):创建具有指定限定名的元素结点,其中name表⽰元素结点的限定名,返回XmlElement类型对象。
CreateAttribute(string name):创建具有指定限定名的属性结点,其中name表⽰属性结点的限定名,返回XmlAttribute类型对象。
(4)通过XmlDocument类的CreateXmlDeclaration()⽅法创建⼀个XML⽂档说明,并通过XmlDocument.AppendChild()⽅法添加到XML⽂档中。CreateXmlDeclaration()的定义如下。
CreateXmlDeclaration(string version, string encoding, string standalone):创建⼀个具有指定版本和编码的XML⽂档说明。其中,version表⽰版本,encoding表⽰XML⽂档的编码格式,默认为utf-8,standalone表⽰是否在XML声明上写出独⽴属性,可选yes或no。
(5)通过XmlDocument类的CreateComment()⽅法创建⼀个具有指定⽂本的XML注释,并通过XmlDocument.AppendChild()⽅法添加到XML⽂档中。
CreateComment(string data):创建包含指定⽂本的XML注释,其中data表⽰注释的⽂本内容。返回XmlComment类型对象。(6)通过XmlDocument类的Save()⽅法保存⼀个XML⽂档数据到⽂件或数据流,它包含以下重载版本:
Save(Stream sr):将内存中的XML⽂档数据保存到指定的数据流,其中,sr表⽰⼀个特定的可以写⼊的数据流。
Save(string filename):将内存中的XML⽂档数据保存到指定的⽂件,其中,filename表⽰XML⽂件名。
Save(TextWriter tw):将内存中的XML⽂档数据保存到指定的⽂本数据写⼊器,其中,tw表⽰⼀个⽂本
写⼊器对象。
Save(XmlWriter xw):将内存中的XML⽂档数据保存到指定的XML数据写⼊器,其中,xw表⽰⼀个XML数据写⼊器对象。
简单例⼦
写⼊⽂档:
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();//实例化⽂档对象
if (File.Exists("l"))//如果⽂件已存在,载⼊⽂档
{
doc.Load("l");
}
else//否则
{
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8","yes");//设置声明
doc.AppendChild(dec);
XmlElement root = doc.CreateElement("root");//加⼊根节点
doc.AppendChild(root);
}
XmlElement student = doc.CreateElement("student");//插⼊⼀个student节点
student.SetAttribute("id", "120");//设置id属性
student.SetAttribute("age", "22");//设置age属性
student.InnerText = "张三";//设置中间⽂本游戏xml文件修改
doc.DocumentElement.AppendChild(student);//将student节点连接在根节点上      doc.Save("l");//保存⽂档
}
执⾏3次后产⽣的xml⽂档:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
<student id="120" age="22">张三</student>
<student id="120" age="22">张三</student>
<student id="120" age="22">张三</student>
</root>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。