求一个xml操作类的写法

liquidcn 2015-05-22 10:37:25
xml:

<?xml version="1.0" encoding="utf-8"?>
<root>
<num>1</num>
<node1>test</node1>
<node2>hahaha</node2>
</root>



c#:


//更新num节点:
if (!Page.IsPostBack)
{
string xml = Server.MapPath("~/XML.xml");

XmlDocument xd = new XmlDocument();
xd.Load(xml);
XmlNode xn = xd.SelectSingleNode("root/num");
int n = Int32.Parse(xn.InnerText);
xn.InnerText = (n + 1).ToString();
xd.Save(xml);
}


每次页面加载时自动更新xml节点+1
我想把这个过程变成一个通用类,参数固定,如下:

public void UpdateSingleNodeValue(string xmlPath, string xmlNode, string value)
{
//这里该怎么写呢?要通用的,因为除了num这个节点是+1以外,其它都是单纯的通过传入参数更改节点值,而且不希望通过限判断节点值,或者多一个传入参数来给num做特例,越通用越好
}
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
1987andy 2015-05-22
  • 打赏
  • 举报
回复
推荐 linq to xml 操作简单,使用方法参考百度就可以le
loveclk 2015-05-22
  • 打赏
  • 举报
回复
问度娘去
liquidcn 2015-05-22
  • 打赏
  • 举报
回复
感谢楼上各位,其实关键不是查找的问题,而是怎么提取之后的过程为类: xml里num节点的更新过程是:原值+1,但是后面节点的更新过程是直接更新,我不想写两个类来分别更新,就一个类,任意节点都可以用,该怎么弄
sgyiliya 2015-05-22
  • 打赏
  • 举报
回复
同意楼上的。
effun 2015-05-22
  • 打赏
  • 举报
回复
建议不要写在XML文件里,除非你有信心能够控制好并发写入文件的问题,建议放在数据库里。
那城 2015-05-22
  • 打赏
  • 举报
回复
参数用 Hashtable来传入就好了,最后把Hshtable遍历写入
i疾风 2015-05-22
  • 打赏
  • 举报
回复
我觉得你写的已经挺好了a,想找什么找不到 selectedNode=xd.SelectSingleNode("XPath) 利用Xpath查找不是已经很通用了吗。 顶楼上的linq to xml 虽然我不会用,但是看起来很厉害的样子

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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