有关XML文件的节点属性值修改在使用过程中经常会遇到过,感兴趣的朋友可以参考下本文,希望对你有所帮助
xml 文件内容:
- <?xml version="1.0" encoding="utf-8"?>
- <subtitles>
- <info>
- <content>最新通告:五一放假七天!请各教员悉知</content>
- <speed>4</speed>
- <color>red</color>
- </info>
- </subtitles>
复制代码
C#代码:
- XmlDocument xml = new XmlDocument();
- xml.Load(context.Server.MapPath("~/js/XMLFile.xml"));
- XmlNode xn = xml.DocumentElement;
- foreach (XmlNode node in xn.ChildNodes)
- {
- if (node.Name == "info")
- {
- node["content"].InnerText = content;
- node["speed"].InnerText = speed;
- node["color"].InnerText = color;
- }
- }
- xml.Save(context.Server.MapPath("~/js/XMLFile.xml"));
复制代码
另外两种办法:
修改xml字符串的某个节点的属性值,如下:
- XmlDocument doc = new XmlDocument();
- doc.LoadXml("<fsdlconfig userName=\"ss\" password=\"134\"/>");
- XmlAttribute att =(XmlAttribute)doc.SelectSingleNode("/fsdlconfig/@userName");
- Console.WriteLine(att.Value);
- att.Value = "test";
- string str = doc.OuterXml;
复制代码
节点userName的值由原来的"ss",变成了"test",然后用doc.OuterXml保存修改后的xml为字符串。
另一种方式:
- XmlDocument doc = new XmlDocument();
- doc.LoadXml("<fsdlconfig userName=\"ss\" password=\"134\"/>");
- XmlElement att = (XmlElement)doc.FirstChild;
- att.SetAttribute("userName","test");
- string str = doc.OuterXml;
复制代码
|
|