您的位置:首页 > 其它

在.NET 对XML的一些基本操作

2009-05-02 00:45 316 查看
  

  今天在网上根据自己的需要找了一些关于.NET下对XML操作的教程。对比之下,发现:代码的说服力远强于文字。当然,只是对我所需要的这点知识点来说是这样。废话少说,上代码!

首先是用C#代码创建XML文件,有两种方法。
1 //这是第一种方法:

2

3 XmlElement xmlele;

9 xmlele = xmldoc.CreateElement("目录");

for (int i = 0; i < 2; ++i)

//这是第二种方法:

2 xmltw.WriteStartElement("书籍");

9 xmltw.WriteStartElement("书名"); //》》》》》》》》》》

xmltw.WriteString("我的书");// 此方法创建元素值 》 这三行代码创建了一个完整的元素包含:起始 值 结束。

xmltw.WriteEndElement();//此方法创建元素结束标识》》》》

xmltw.WriteStartElement("作者");

xmltw.WriteString("我");

xmltw.WriteEndElement();

xmltw.WriteStartElement("价格");

xmltw.WriteString("100");

xmltw.WriteEndElement();

xmltw.WriteEndElement();

xmltw.WriteStartElement("书籍");

xmltw.WriteStartElement("书名");

xmltw.WriteString("你的书");

xmltw.WriteEndElement();

xmltw.WriteStartElement("作者");

xmltw.WriteString("你");

xmltw.WriteEndElement();

xmltw.WriteStartElement("价格");

xmltw.WriteAttributeString("币种", "人民币");

xmltw.WriteString("100");

xmltw.WriteEndElement();

xmltw.WriteEndElement();

xmltw.WriteEndElement();

<?xml version="1.0" encoding="UTF-8"?>

2<目录>

3 <书籍>

4 <书名>我的书</书名>

5 <作者>我</作者>

6 <价格 币种="人民币">100</价格>

7 </书籍>

8 <书籍>

9 <书名>你的书</书名>

<作者>你</作者>

<价格 币种="人民币">100</价格>

</书籍>

</目录>
  

以上就是这两种方法。总结一下:第一种方法是以xml文件的各个节点为单位,组装起来的。它的优势在于方便构造结构。还有,不同于第二种方法的生成文件方式,他是在内存中构造好然后用 Save()方法生成。 第二种方法的特点就如在第二句注释里说的“提供快速、非缓存、只进方法的编写器” ,是编写器。就像打字机一样把XML文件以流的方式一句一句表达出来,表达的过程中就直接生成了,不同与第一种方法的生成方式。第一种方式灵活,第二种快速。

下面是一些其他的操作,包括增,删,改。代码是直接贴过来的。我真是太懒了~~

  添加一个节点:

1XmlDocument xmlDoc=new XmlDocument();

2xmlDoc.Load(Server.MapPath("data.xml"));

3XmlNode root=xmlDoc.SelectSingleNode("Employees");//查找<Employees>

4XmlElement xe1=xmlDoc.CreateElement("Node");//创建一个<Node>节点

5xe1.SetAttribute("genre","张三");//设置该节点genre属性

6xe1.SetAttribute("ISBN","1-1111-1");//设置该节点ISBN属性

7

8XmlElement xesub1=xmlDoc.CreateElement("title");

9xesub1.InnerText="C#入门帮助";//设置文本节点

xe1.AppendChild(xesub1);//添加到<Node>节点中

XmlElement xesub2=xmlDoc.CreateElement("author");

xesub2.InnerText="高手";

xe1.AppendChild(xesub2);

XmlElement xesub3=xmlDoc.CreateElement("price");

xesub3.InnerText="158.3";

xe1.AppendChild(xesub3);

root.AppendChild(xe1);//添加到<Employees>节点中

xmlDoc.Save ( Server.MapPath("data.xml") );

  

  修改节点的值:

1XmlDocument xmlDoc=new XmlDocument();

2xmlDoc.Load( Server.MapPath("data.xml") );

3

4XmlNodeList nodeList=xmlDoc.SelectSingleNode("Employees").ChildNodes;//获取Employees节点的所有子节点

5

6foreach(XmlNode xn in nodeList)//遍历所有子节点

7xmlDoc.Save( Server.MapPath("data.xml") );//保存。

  删除节点和节点属性:

1XmlDocument xmlDoc=new XmlDocument();

2xmlDoc.Load( Server.MapPath("data.xml") );

3XmlNodeList xnl=xmlDoc.SelectSingleNode("Employees").ChildNodes;

4foreach(XmlNode xn in xnl)

5xmlDoc.Save( Server.MapPath("data.xml") );

  暂时就这么多吧,不是玩XML编程的。0:47:03
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: