xml文件
<?xml version="1.0" encoding="utf-8"?>
<data>
  <flashad>
    <item id="1" photo="attachment/01.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="2" photo="attachment/02.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="3" photo="attachment/03.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="4" photo="attachment/04.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="5" photo="attachment/05.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="6" photo="attachment/06.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="7" photo="attachment/07.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="8" photo="attachment/08.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
    <item id="9" photo="attachment/08.jpg" mmtitle="客厅" tvname="" detail="房展美图,视觉的享受" adurl="#" />
  </flashad>
</data>程序
    protected void Button1_Click(object sender, EventArgs e)
    {
        string path = Server.MapPath("/attachment/myseeflash.xml");
        string id = DropDownList1.SelectedValue;
        string mmtitle = Class_Replace.sqlcode(TextBox1.Text);
        string detail = Class_Replace.sqlcode(TextBox2.Text);
        string adurl = Class_Replace.sqlcode(TextBox3.Text);
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(path);
        XmlNodeList xnl = xmldoc.SelectSingleNode("flashad").ChildNodes;
        foreach (XmlNode xn in xnl)
        {
            XmlElement xe = (XmlElement)xn;
            if (xe.GetAttribute("id") == id)
            {
                xe.SetAttribute("mmtitle", mmtitle);
                xe.SetAttribute("detail", detail);
                xe.SetAttribute("adurl", adurl);
            }
        }
        xmldoc.Save(path);     
    }
谁能帮我看看是怎么错了,报错地方:XmlNodeList xnl = xmldoc.SelectSingleNode("flashad").ChildNodes;
这样不能获取flashad下的所有子节点嘛?才开始学xml

解决方案 »

  1.   

    http://www.cnblogs.com/nuke/archive/2007/06/27/797515.aspx
      

  2.   


    //XmlNodeList   xnl   =   xmldoc.SelectSingleNode("flashad").ChildNodes; 
    //改为
    XmlNodeList   xnl   =   xmldoc.SelectSingleNode("//flashad").ChildNodes; 
      

  3.   

    楼上正解//XmlNodeList   xnl   =   xmldoc.SelectSingleNode("flashad").ChildNodes; 
    //改为
    XmlNodeList   xnl   =   xmldoc.SelectSingleNode("//flashad").ChildNodes; 
      

  4.   

    xmldoc.SelectSingleNode("//flashad").ChildNodes; 
    或者
    xmldoc.SelectSingleNode("data/flashad").ChildNodes; 
      

  5.   

    非常感谢,我刚看了下SelectSingleNode这个方法。进一步理解了下xpath结果是相当于文件的路径。