DOM方式读写XML

1。XML(XMLFile.xml):
<?xml version="1.0" encoding="utf-8"?>
<company>
  <employee>
    <name>name1</name>
    <sex>男</sex>
    <age>17</age>
  </employee>
</company> 

1。读取
 protected void btReadXML_Click(object sender, EventArgs e)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("XMLFile.xml"));
        XmlNodeList nodes = doc.SelectSingleNode("company").ChildNodes;

        //InnerXml:获取的是本节点中的XML字符串;
        //InnerText:获取的是不带XML标记的字符串;
        Response.Write(nodes.Item(0).InnerXml);

        foreach (XmlNode node in nodes) {
            foreach (XmlNode n in node.ChildNodes) {
               
                //主:xml中的Value也相当于一级节点InnerText,               
                Response.Write(n.ChildNodes[0].Value+"<br>");
                //相当于:
                Response.Write(n.InnerText + "<br>");

            }
          
        }
    }

2。写入并保存
    protected void btWriteXml_Click(object sender, EventArgs e)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("XMLFile.xml"));
        XmlNodeList nodes = doc.SelectSingleNode("company").ChildNodes;
        nodes.Item(0).LastChild.InnerText = "17";
        doc.Save(Server.MapPath("XMLFile.xml"));
    }

posted @ 2006-11-22 15:37  疯一样的自由  阅读(713)  评论(0编辑  收藏  举报