Xml初步学习
来源:互联网 发布:matlab k聚类算法 编辑:程序博客网 时间:2024/06/14 01:10
首先学习Xml我们先认识几个类 XmlReader(Xml读取器) XmlWriter(Xml写入器) XmlReaderSettings(读取器支持的功能) XmlWriterSettings(写入器支持的功能)
XmlDocument (Xml文档)
Xml文档
<?xml version="1.0" encoding="utf-8"?><books> <book> <author>张三</author> <publisher>清华大学出版社</publisher> <date>2009-1-1</date> <name>ASP.NET实训教程</name> <isbn>978-7-333-20981-4</isbn> <price>50.00</price> </book> <book> <author>李四</author> <publisher>机械工业出版社</publisher> <date>2009-6-8</date> <name>ASP.NET详解</name> <isbn>978-7-333-20332-1</isbn> <price>45.00</price> </book> <book> <author>王五</author> <publisher>电子工业出版社</publisher> <date>2010-10-9</date> <name>C#程序设计</name> <isbn>978-7-311-21231-2</isbn> <price>50.00</price> </book> <book> <author>张飞</author> <publisher>机械工业出版社</publisher> <date>2008-4-12</date> <name>.NET设计模式</name> <isbn>978-7-310-12341-9</isbn> <price>30.00</price> </book></books>
读取Xml文集里的内容
通过读取Xml文档中有几个<book>节点来判断有几本书
//设置XmlReader的一组功能 XmlReaderSettings XmlReadSet = new XmlReaderSettings(); XmlReadSet.CheckCharacters = true; XmlReadSet.IgnoreComments = true; XmlReadSet.IgnoreProcessingInstructions = false; XmlReadSet.IgnoreWhitespace = true; //创建以个Xml读取对象(参数必须为物理路径) using(XmlReader XmlRead = XmlReader.Create(Server.MapPath("books.xml"),XmlReadSet)) { while (XmlRead.Read()) { //获取节点的类型为元素 if (XmlRead.NodeType == XmlNodeType.Element) { if (XmlRead.Name == "book") { sum++; } } } Response.Write("有"+sum+"本书"); }另一种获取Xml文档的方法是用 XmlDocument
读取Xml并把每本书的书名放入DropDownList中
XmlDocument XmlDoc; protected void Page_Load(object sender, EventArgs e) { //声明一个Xml文档的实例 XmlDoc = new XmlDocument(); XmlDoc.Load(Server.MapPath("books.xml")); XmlNodeList XmlList =XmlDoc.GetElementsByTagName("name"); foreach (XmlNode XmlNo in XmlList) { DropDownList1.Items.Add(XmlNo.InnerText); } }下面在获取DropDowmList所选书的其他信息
protected void Button1_Click(object sender, EventArgs e) { //获取子节点name=dropdownlist.text的父节点book XmlNode XmlDoc2 = XmlDoc.DocumentElement.SelectSingleNode("book[name='" + DropDownList1.SelectedItem.Text + "']"); //获取父节点XmlDoc2下的指定的子节点的值 string a = XmlDoc2.SelectSingleNode("author").InnerText; string b = XmlDoc2.SelectSingleNode("publisher").InnerText; string c = XmlDoc2.SelectSingleNode("date").InnerText; string d = XmlDoc2.SelectSingleNode("isbn").InnerText; }向Xml文档中添加内容
XmlWriter
XmlWriterSettings XmlWriteSet = new XmlWriterSettings(); //编码方式 XmlWriteSet.Encoding = System.Text.Encoding.UTF8; XmlWriteSet.Indent = true; using (XmlWriter XmlWrite = XmlWriter.Create(Server.MapPath("bookss.xml"),XmlWriteSet)) { //开始写入文件 XmlWrite.WriteStartDocument(); //Xml格式<books> XmlWrite.WriteStartElement("books"); //<book> XmlWrite.WriteStartElement("book"); //<name> XmlWrite.WriteStartElement("name"); //<book>三国演义</book> XmlWrite.WriteString("三国演义"); //</name> XmlWrite.WriteEndElement(); //<publisher> XmlWrite.WriteStartElement("publisher"); //<publisher>清华大学出版社</publisher> XmlWrite.WriteString("清华大学出版社"); //</publisher> XmlWrite.WriteEndElement(); //<date> XmlWrite.WriteStartElement("date"); //<date>2012-12-21</date> XmlWrite.WriteString("2012-12-21"); //</date> XmlWrite.WriteEndElement(); //<....> XmlWrite.WriteStartElement("author"); //<...>*******</...> XmlWrite.WriteString("战三"); //</....> XmlWrite.WriteEndElement(); //<....> XmlWrite.WriteStartElement("price"); //<...>*******</...> XmlWrite.WriteString("50.0"); //</....> XmlWrite.WriteEndElement(); //</book>一本书写完了 XmlWrite.WriteEndElement(); //<book>两本一样的书 XmlWrite.WriteStartElement("book"); //<name> XmlWrite.WriteStartElement("name"); //<book>三国演义</book> XmlWrite.WriteString("三国演义"); //</name> XmlWrite.WriteEndElement(); //<publisher> XmlWrite.WriteStartElement("publisher"); //<publisher>清华大学出版社</publisher> XmlWrite.WriteString("清华大学出版社"); //</publisher> XmlWrite.WriteEndElement(); //<date> XmlWrite.WriteStartElement("date"); //<date>2012-12-21</date> XmlWrite.WriteString("2012-12-21"); //</date> XmlWrite.WriteEndElement(); //<....> XmlWrite.WriteStartElement("author"); //<...>*******</...> XmlWrite.WriteString("战三"); //</....> XmlWrite.WriteEndElement(); //<....> XmlWrite.WriteStartElement("price"); //<...>*******</...> XmlWrite.WriteString("50.0"); //</....> XmlWrite.WriteEndElement(); //</book>二本书写完了 XmlWrite.WriteEndElement(); //Xml格式</books> XmlWrite.WriteEndElement(); } }
- XML 初步学习
- 初步学习xml
- Xml初步学习
- xml初步学习
- xml初步学习(一)
- 2011-9-19 xml 初步学习
- MySQL触发器总结以及XML初步学习
- xml与pull解析的初步学习
- servlet与xml初步学习(2)
- XML初步
- xml初步
- XML初步
- 【xml】xml初步总结
- Struts2学习——0200struts.xml初步解释
- 初步学习
- 初步学习
- C#操作XML初步
- XML初步到精通
- android TabHost小结
- 中国互联网的十二月大灾变
- 公司被收购后应有的觉悟
- linux yum源
- Linux 帮助手册安装不全
- Xml初步学习
- 为什么80后集体缺席互联网
- Android中使用SAX来解析XML
- ActiveMQ资料大全
- 破解周鸿祎的战术精要
- 动软代码生成器使用心得
- 获取新数据的主键值
- centos下adsl自动拨号设置
- free问题