现在的位置: 首页 > 综合 > 正文

xml文档保存数据的操作

2013年03月19日 ⁄ 综合 ⁄ 共 1948字 ⁄ 字号 评论关闭

 提起xml相信我们大家都知道,是现在网络上比较流行的存储数据的一种可扩张标记语言,比起我们的数据库sql server ,mysql等方面实用。

 因此要用到xml存储数据,我们必须先了解xml文件的格式。

1.xml文件的格式:

  只有一份根节点,是以 <? xml version="", standalone="" ?>开始

  它的节点可以自己定义标签,是比较自由形式的语音,它虽然只一个根节点,但是子节点可以无数,可以嵌套实用,因此可以为我们网络上存储数据带来了很好的方面,而且安全。

    <?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <Table>
    <EmployeeID>1</EmployeeID>
    <EName>网上</EName>
    <ESex>男</ESex>
    <EAge>25</EAge>
    <EPlace>湖北省长春市</EPlace>
    <EMoney>5000</EMoney>
  </Table>
  <Table>
    <EmployeeID>2</EmployeeID>
    <EName>赵明</EName>
    <ESex>男</ESex>
    <EAge>28</EAge>
    <EPlace>湖北省长春市</EPlace>
    <EMoney>3000</EMoney>
  </Table>

</NewDataSet>

 

 

2.了解xml文件的格式后就避免不了对它进行操作

    我们充分利用net上 ADO.NET组件,来进行对xml文件的读写,这样就可以很方面的把我们数据库上的数据写到xml文件中,这就只需我们的DataSet数据集即可完成的操作

  DataSet  ds=new DataSet(); 

  ds.ReadXml(Server.MapPath("xml文件名字")); //读

  ds.WriteXMl(Server.MapPath("xml文件的路径"));  ////写

3.我们利用数据集仅仅只是对xml文件进行了读和写,当设计到修改和删除的时候,我们就要充分利用到xml节点的知识了

  首先我们要知道xml节点的类型 xmlNode, 节点的集合 xmlNodeList, 节点的元素 xmlElement 经常用来得到节点上的某一元素和类型转换

   举个例子:

   //除了对xml问价读取,写入外,要进行修改,增加等操作需要创建一个xml文档对象
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("Test.xml"));
        //节点集合 
        XmlNodeList list = doc.SelectSingleNode("NewDataSet").ChildNodes;//获得所有孩子节点的集合
        foreach (XmlNode xn in list)
        {
            //xml节点类型的转换 xmlNode, xmlElement(xml元素)
            XmlElement xm = (XmlElement)xn;
            if(xm.Name=="Table")
            {
                XmlNodeList xmchild = xm.ChildNodes; //遍历节点下的子节点,孩子节点
                foreach(XmlNode xname in xmchild)
                {
                    XmlElement xs=(XmlElement)xname;
                    if (xs.Name == "EName" && xs.InnerText==DropDownList1.SelectedValue.Trim())
                    {
                        xs.InnerText = TextBox1.Text.Trim();
                        Response.Write("<script>alert('修改成功')</script>");
                    }
                }
            }
        }
        doc.Save(Server.MapPath("Test.xml"));
        Response.Write("<script>location='Default6.aspx';</script>");

    }

 

 

抱歉!评论已关闭.