您的位置:首页 > 其它

xml学习(二)---运用XmlTextWriter及XmlTextReader操作Xml

2011-06-20 09:21 543 查看
之前学习的xml操作是运用XmlDocument对象来实现的,下面的是运用XmlTextWriter、XmlTextReader来操作的,XmlTextWriter对象是主要对xml文件进行写操作,而XmlTextReader主要是对xml文件进行读的操作

下面是XmlTextWriter对象操作的代码

//设置格式,对元素内容进行缩进

protected void btnAddXmlWriter_Click(object sender, EventArgs e)

{

string path=Server.MapPath(".");

//创建xmlwriter对象

XmlTextWriter xmlTextWriter = new XmlTextWriter(path + "//Student.xml",null);

//设置格式,对元素内容进行缩进

xmlTextWriter.Formatting = Formatting.Indented;

//书写版本为1.0的xml声明

xmlTextWriter.WriteStartDocument();

//写出在名称和文本之间带有空格的处理指令

string PItext = "type='text/xml' href='book.xml'";

xmlTextWriter.WriteProcessingInstruction("xml-stylesheet", PItext);

//增加指定名称和可选属性的DocType

xmlTextWriter.WriteDocType("学生", null, null, "<!ENTITY sex '男'>");

//增加注释

xmlTextWriter.WriteComment("xml注释");

//开始创建元素

xmlTextWriter.WriteStartElement("学生");

//创建属性

xmlTextWriter.WriteAttributeString("专业", " 计算机");

xmlTextWriter.WriteAttributeString("日期", "2008-09-01");

xmlTextWriter.WriteElementString("姓名", "李天平");//创建元素1

xmlTextWriter.WriteStartElement("性别");//创建元素2

xmlTextWriter.WriteEntityRef("sex");//创建对上面的引用,显示自动替换为男

xmlTextWriter.WriteEndElement();

xmlTextWriter.WriteElementString("年龄", "25");

xmlTextWriter.WriteCData("年龄太大了");

xmlTextWriter.WriteEndElement();

xmlTextWriter.WriteEndDocument();

xmlTextWriter.Flush();

xmlTextWriter.Close();

}

下面是XmlTextReader对象操作的代码

protected void btnReader_Click(object sender, EventArgs e)

{

string path = Server.MapPath(".");

//创建xml文档

XmlDocument xmlDoc=new XmlDocument();

//创建xml读取器

XmlTextReader reader = new XmlTextReader(path + "//student.xml");

//通过xml读取器加载xml文档

xmlDoc.Load(reader);

string s = "", v = "";

while (reader.Read())

{

switch (reader.NodeType)

{

case XmlNodeType.Element:

s=reader.Name;

break;

case XmlNodeType.Text:

{

if (s.Equals("Name"))

{

v = reader.Value;

}

else

v = reader.Value;

}

break;

}

}

if (reader != null)

{

reader.Close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: