环境:vs2005 、c#、asp.net,
我想取得“系统001”,“对象002”里面的“orderType”的值,请问如何读取呢?
如果我现在想增加一个“系统003”,然后再在“系统003”里面增加“对象008”应该怎么增加节点呢?
总体就是下面这样的XML怎么进行节点的读、改、增、删呢?
请提供较为详细的代码,万分感谢!
<myStyle>
  <system sysName="系统001">
    <object objName="对象001">
      <orderField>id</orderField>
      <orderType>0</orderType>
    </object>
    <object objName="对象002">
      <orderField>id</orderField>
      <orderType>0</orderType>
    </object>
  </system>
  <system sysName="系统002">
    <object objName="对象003">
      <orderField>id</orderField>
      <orderType>0</orderType>
    </object>
    <object objName="对象004">
      <orderField>id</orderField>
      <orderType>0</orderType>
    </object>
  </system>
</myStyle>

解决方案 »

  1.   

    希望能有些帮助: 
    /// <summary>
    /// 保存Web.config
    /// </summary>
    /// <param name="strKeyName">节点名</param>
    /// <param name="strKeyValue">要保存的值</param>
    /// <param name="strWhich">哪个配置文件</param>
    public static void SaveSetting(string strKeyName, string strKeyValue,string strWhich) 

    System.Xml.XmlDocument XMLWebSetting = new System.Xml.XmlDocument(); 
    XMLWebSetting.Load(System.Web.HttpContext.Current.Server.MapPath("~/"+ strWhich +"")); 
    System.Xml.XmlNodeList XmlNodeList = XMLWebSetting.SelectSingleNode("//appSettings").ChildNodes; 
    try 

    foreach (System.Xml.XmlNode xn in XmlNodeList) 

    System.Xml.XmlElement xe = ((System.Xml.XmlElement)(xn)); 
    if (xe.Attributes["key"].InnerText == strKeyName) 

    xe.Attributes["value"].InnerText = strKeyValue; 
    XMLWebSetting.Save(System.Web.HttpContext.Current.Server.MapPath("~/"+ strWhich +"")); 



    catch (System.Exception Ex) 

    throw Ex; 

    }

    /// <summary>
    /// 读取 XML中指定节点值
    /// </summary>
    /// <param name="strKeyName">节点键名</param>
    /// <returns>指定节点键值</returns>
    public static string GetConfig(string strKeyName)
    {
    //创建XML文档实例
    System.Xml.XmlDocument XMLWebSetting=new System.Xml.XmlDocument(); //打开XML文档
    XMLWebSetting.Load(System.Web.HttpContext.Current.Server.MapPath("~/System.config")); //查找节点所在位置
    System.Xml.XmlNodeList XmlNodeList=XMLWebSetting.SelectSingleNode("//appSettings").ChildNodes; //查找指定节点
    string strKeyValue="";
    foreach(System.Xml.XmlNode xn in XmlNodeList)
    {
    System.Xml.XmlElement xe=(System.Xml.XmlElement)xn;
    if(xe.Attributes["key"].InnerText==strKeyName)
    {
    strKeyValue=xe.Attributes["value"].InnerText;
    break;
    }
    } return strKeyValue;
    }
      

  2.   

    http://community.csdn.net/Expert/topic/5617/5617526.xml?temp=.1240045
      

  3.   

    http://www.cnblogs.com/ocean2000/archive/2006/08/08/471029.html
    http://www.cnblogs.com/ocean2000/archive/2006/07/25/459226.html
    http://www.cnblogs.com/ocean2000/archive/2006/07/20/455514.html
    http://www.cnblogs.com/ocean2000/archive/2006/07/20/455504.html看看这几篇blog,一定能解决你的问题
      

  4.   

    查找一下XPath表达式,非常容易。:)
    刚刚做过。
      

  5.   

    简单的方法是利用DS读取XML然后像操作表格一样操作XML然后再写出XML文件。