写入XML元素值
WriteElementString、WriteStartElement和WriteNode方法用于编写元素节点。WriteElementString用于编写整个元素节点,包括字符串值。下面介绍如何使用WriteElementString写入元素值和如何使用WriteNode写入元素值
using System.Xml;
class program
{
static void Main(string[ ] args)
{
string path=@ "c:\people.xml";
//尝试读取该XML文件
try
{
//创建设置
XmlWriterSettings mySettings=new XmlWriterSettings();
mySettings.Indent=true;
mySettings.IndentChars=(" ");
XmlWriter myWriter=XmlWriter.Create(path,mySettings);//创建XmlWriter的实例
//输入XML数据
myWriter.WriteStartElement("people");//写入根元素
myWriter.WriteElementString("name","zhang");//写入元素及其值
myWriter.WriteElementString("nation","china");//写入元素及其值
myWriter.WriteEndElement();
myWriter.Flush();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
}
WriteStartElement是WriteElementString方法更高级的版本。它可以使用多个方法调用编写元素值。例如,可以调用WriteValue来编写类型化的值,调用WriteCharEntity来编写字符实体,调用WriteAttributeString来编写属性,也可以编写子元素。通过调用WriteEndElement或WriteFullEndElement方法来关闭该元素。 使用WriteNode方法可以复制XmlReader或XPathNavigator对象的当前位置上发现的整个元素节点。在调用时,会将源对象中的所有内容复制到XmlWriter实例中。实例如下:
using System.Xml;
class program
{
static void Main(string[ ] args)
{
//XML文件路径
string path=@ "c:\newmail.xml";
string oldpath=@ "c:\mail.xml";
//尝试读取该XML文件
try
{
//创建设置
XmlWriterSettings mySettings=new XmlWriterSettings();
mySettings.Indent=true;
mySettings.IndentChars=(" ");
//输入XML数据
XmlReader myReader=XmlReader.Create(oldpath);
myReader.ReadToDescendant("mail");//读取数据
//创建XmlWriter的实例
XmlWriter myWriter=XmlWriter.Create(path);//根据路径创建
myWriter.WriteNode(myReader,true);//写入读取到的数据
myWriter.Flush();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
}