4

我的App_Data文件夹中有一个 xml。我需要编辑该 xml 节点中的值。我试过的是——

        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(Server.MapPath("~/App_Data/conf.xml.config"));

        XmlNodeList aNodes = xDoc.SelectNodes("/ConfigInf");
        foreach (XmlNode node in aNodes)
        {
            XmlNode child1 = node.SelectSingleNode("Node1");
            XmlNode child2 = node.SelectSingleNode("Node2");              

            child1.InnerText = "Value1";
            child2.InnerText = "Value2";
        }

我需要用新值重新编写 xml,因为当我再次尝试访问相同的 xml 时,它应该包含新值。但是当我访问 xml 时,只有当我像这样调用 - 时,我仍然会得到旧的(初始)值Test.LoadConf(Server.MapPath("./App_Data/conf.xml.config"));。如何使用新值或任何替代方法(例如使用新值创建新 xml)写入 XML?(因为我只需要在单个页面中访问此 xml)

4

4 回答 4

6

编辑后调用保存,如果不需要覆盖原来的,可以给不同的名字

例如名为的新文件new.conf.xml.config

xDoc.Save(Server.MapPath("~/App_Data/new.conf.xml.config"));

下次您可以照常加载原件

xDoc.Load(Server.MapPath("~/App_Data/conf.xml.config"));
于 2013-05-29T06:25:49.820 回答
0

之后您还没有保存文件

利用xDoc.save(Server.MapPath("~/App_Data/conf.xml.config"));

于 2013-05-29T06:32:18.903 回答
0

nodeValue 属性可用于更改文本节点的值。

以下代码更改第一个元素的文本节点值: 示例:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

来源:http ://www.w3schools.com/DOM/dom_nodes_set.asp

于 2013-05-29T06:33:52.093 回答
0
node["Node1"].InnerText = "Value1";
node["Node2"].InnerText = "Value2";
于 2015-08-13T10:38:33.267 回答