我的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)
答案 0 :(得分:6)
编辑后调用保存,如果不需要覆盖原始
,可以给出不同的名称 e.g。名为new.conf.xml.config
xDoc.Save(Server.MapPath("~/App_Data/new.conf.xml.config"));
下次你可以像往常一样加载原件
xDoc.Load(Server.MapPath("~/App_Data/conf.xml.config"));
答案 1 :(得分:0)
之后你还没有保存文件
使用xDoc.save(Server.MapPath("~/App_Data/conf.xml.config"));
答案 2 :(得分:0)
nodeValue属性可用于更改文本节点的值。
以下代码更改了第一个元素的文本节点值:示例:
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
答案 3 :(得分:0)
node["Node1"].InnerText = "Value1";
node["Node2"].InnerText = "Value2";