当前位置:编程学习 > XML/UML >>

修改XML文件的节点属性值

xml 文件内容:

 

<?xml version="1.0" encoding="utf-8"?>
<subtitles>
  <info>
    <content>最新通告:五一放假七天!请各教员悉知</content>
    <speed>4</speed>
    <color>red</color>
  </info>
</subtitles>

 

 

 

C#代码:

 

[csharp] view plaincopyprint?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")); 

            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;

 

补充:Web开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,