黑马训练营-.net框架下对xml操作

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

这是一篇纯粹的基于.net框架xml api的介绍:

1.最最最简单的创建xml对象的方法(其实xml对象的说法不是很准确):

System.Xml.XmlDocument这个类,用于对xml的一些基本操作:

首先是获取xml文件,代码如下:

XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath(@"~/[xml的路径]/[xml文件名]"));

这样xmldoc将获取一个xml的文档对象,然后你能通过Xpath取到任何节点值/属性值,如下有个xml示例文档:

<root>
<node>1</node>
<node attr="2">3</node>
</root>

通过如下代码:

//_nodes_获取node的所有节点
System.Xml.XmlNodeList _nodes_ = xmldoc.SelectNodes("root/node");

Response.Write(_nodes_[0].Value); //1
Response.Write(_nodes_.SelectSingleNode("[2]").Value); //3
Response.Write(_nodes_[1].SelectSingleNode("@attr"); //2

此时需要注意一点:

即nodelist时,.net下标是从0开始的,而xpath是从1开始的。

如果需要对xml进行修改的话(不是创建),对你要修改的节点/属性直接赋值即可,代码如下:

_nodes_[0].Value = 5;

当然这个时候需要最关键的一步就是保存你的修改:

xmldoc.Save(Server.MapPath(@"~/[xml的路径]/[xml文件名]"));

这样你就能保存修改了!

怎么创建一个element呢?

 1 System.Xml.XmlElement xmlelement = xmldoc.CreateElement("tagName");
2
3 //此处对这个节点进行设置,比如相关的属性值...
4 xmlelement.SetAttribute("attrkey1", "attrvalue1");
5 xmlelement.SetAttribute("attrkey2", "attrvalue2");
6
7 //然后将节点插入文档中的某个位置
8 xmldoc.SelectSingleNode("root").Append(xmlelement);
9
10 //最好同样需要对xmldoc进行的操作保存
11 xmldoc.Save(Server.MapPath(@"~/[xml的路径]/[xml文件名]"));

类似了,要为一个节点设定新的属性值,也如上面的代码:

xmlelement.SetAttribute("attrkey1", "attrvalue1");


这个就是基于XmlDocument这个类的基本操作!

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/

posted @ 2012-03-18 12:59  Yorkie  阅读(146)  评论(0编辑  收藏  举报