请问怎么读写XML中某个节点的值呢?

www_datasky_cn 2007-06-29 10:55:03
环境: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>
...全文
301 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanguoji84 2007-06-29
  • 打赏
  • 举报
回复
简单的方法是利用DS读取XML然后像操作表格一样操作XML然后再写出XML文件。
balenoww 2007-06-29
  • 打赏
  • 举报
回复
mark
zhangweisjz 2007-06-29
  • 打赏
  • 举报
回复
查找一下XPath表达式,非常容易。:)
刚刚做过。
jimu8130 2007-06-29
  • 打赏
  • 举报
回复
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,一定能解决你的问题
wangsaokui 2007-06-29
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5617/5617526.xml?temp=.1240045
jinpeng_dotnet 2007-06-29
  • 打赏
  • 举报
回复
希望能有些帮助:
/// <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;
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧