当前位置导航:炫浪网>>网络学院>>编程开发>>Visual C#教程

C#操作xml

引用命名空间:using System.Xml

1.检查所要操作的xml文件是否存在:
   System.IO.File.Exists(文件路径及名称);

2.得到xml文件:
(1)在asp.net中可以这样得到:
XmlDocument xmlDoc = new XmlDocument();

//导入xml文档

xmlDoc.Load( Server.MapPath("xmlTesting.xml"));

//导入字符串

//xmlDoc.LoadXml("<bookStore> <book id="01" price="3.5元"> 读者</book></bookStore>");

注:Server.MapPath("xmlTesting.xml")此时的xmlTesting.xml文件必须是在当前的解决方案里;同样可以写成完整的物理路径xmlDoc.Load (@"E:"软件学习"测试"myNoteWeb"xmlTesting.xml")

(2)在windForm中 直接用物理路径得到所要操作的xml文件具体实现方法同上
3.创建xml文件:
 XmlDocument xmlDoc = new XmlDocument(); //创建xml文档(实例化一个xml)

XmlNode root = xmlDoc.CreateElement("bookStore");//创建根节点

//创建第1个子结点:

XmlNode bookNode = xmlDoc.CreateElement("book");

bookNode.InnerText = "读者";

//为此节点添加属性

 法1:

 bookPublishNode.SetAttribute("id", "01")

 root.AppendChild(bookNode);

法2:

 XmlAttribute xmlattribute = tempXmlDoc.CreateAttribute("price");

 xmlattribute.Value = "3.5元";

 tempRoot .Attributes .Append (xmlattribute )

 //创建第2个根节点的子结点:

 XmlNode tempBookNode = xmlDoc.CreateElement("tempbook ");

 tempBookNode.InnerText ="文摘";

 root.AppendChild(tempBookNode);

 xmlDoc.AppendChild(root); //将根节点添加到xml文档中

 try

{

xmlDoc.save(“bookInfo.xml”);//xml将保存到当前解决方案的目录下

}

catch (Exception ex)

{              

 MessageBox.Show(ex.Message); //显示错误信息

}

得到的xml文档如下:

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

<bookStore>

 <book id ="01" price="3.5元">

    读者

 </book>

 

 <tempbook id ="02">

    文摘

 </tempbook >

 

</bookStore>

4.读取,修改xml信息
 tempTesting.xml文件的内容如下:

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

<bookStore>

 <book id="01" price="3.5元">

    读者

 </book>

 <book id="02" price="5元">

    <bookname>百家讲坛</bookname>

    <bookpublish>文学出版社</bookpublish>

 </book>

 <tempbook id="0000">漫画tempbook>

 

</bookStore>

(1)      得到xml文件的xml信息
XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load( Server.MapPath("xmlTesting.xml"));

 XmlNode root=xmlDoc.DocumentElement;

(2)      得到节点
//得到id为2book节点下的所有节点

XmlNodeList xmlNodes = root.SelectNodes("//book[@id='02']//*");

XmlNode tempNode = xmlNodes[0];//得到第一个节点

//将tempbook强制转化为XmlElement

XmlElement xmlelement = (XmlElement)root.SelectSingleNode("tempbook");

(3)      修改节点内容
XmlNode tempBook = root.SelectSingleNode("tempbook");//修改节点内容

tempBook. InnerText="漫画";

(4)得到节点的属性值并修改:
//得到节点的属性

 //法1

XmlAttributeCollection attrbute= tempBook.Attributes;

string bookID = attrbute[0].Value;

//法2:

string bookid = tempBook.Attributes[0].Value.ToString();

//修改节点属性的值

tempBook.Attributes[0].Value = "0000";

(5)添加一个根节点

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接