Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中以编辑模式编辑XML文件#_C#_Asp.net_.net_Xml - Fatal编程技术网

C# 如何在C中以编辑模式编辑XML文件#

C# 如何在C中以编辑模式编辑XML文件#,c#,asp.net,.net,xml,C#,Asp.net,.net,Xml,我试图用xml在编辑模式下更新我的网格,但我无法做到这一点 我只能编辑一个元素,但不知道如何编辑多个元素 我的xml文件如下所示 <CATALOG> <CD> <ID>1</ID> <Application>Dot Net</Application> <status>Available</status> <LastUpdate>02-07-2017<

我试图用xml在编辑模式下更新我的网格,但我无法做到这一点

我只能编辑一个元素,但不知道如何编辑多个元素

我的xml文件如下所示

<CATALOG>
  <CD>
    <ID>1</ID>
    <Application>Dot Net</Application>
    <status>Available</status>
    <LastUpdate>02-07-2017</LastUpdate>
    <Comments>The Rox for July has been loaded</Comments>
  </CD>
  <CD>
    <ID>2</ID>
    <Application>JFORWBK</Application>
    <status>Available</status>
    <LastUpdate>05-07-2017</LastUpdate>
    <Comments>DeLorean data has been loaded</Comments>
  </CD>
  <CD>
    <ID>3</ID>
    <Application>Codepress</Application>
    <status>Open for Input</status>
    <LastUpdate>06-07-2017</LastUpdate>
    <Comments>The Rox for July has been loaded</Comments>
  </CD>
</catalog>

现在,在服务器端的C#中单击更新按钮,如何在编辑模式下更新、和注释。

您可以使用XmlNodeList并迭代该列表中的每个XmlNode,然后执行更新

如果记忆有用的话,它应该遵循

foreach(XmlNode node in XmlDoc.selectNodes("nodename")){node.innerText = "updated value here";}

您可以使用XmlNodeList并对该列表中的每个XmlNode进行迭代,然后执行更新

如果记忆有用的话,它应该遵循

foreach(XmlNode node in XmlDoc.selectNodes("nodename")){node.innerText = "updated value here";}

为什么不使用一个循环来逐个更新它们呢

将所有隐藏字段值放入
Ids
列表中。然后使用循环更新XML

List<int> Ids = new List<int>();
Ids.Add(1);

for (int i = 0; i < Ids.Count; i++)
{
    ID = Request.QueryString["sID"];
    XmlDocument xmlDoc = new XmlDocument();
    string filepathsUpdate = Server.MapPath("Action.xml");
    xmlDoc.Load(filepathsUpdate);
    XmlNode node = xmlDoc.SelectSingleNode("/CATALOG/CD[ID=" + Ids[i].ToString() + "]/Action");
    node.InnerText = ssplit[0];
    xmlDoc.Save(filepathsUpdate);
}
List id=new List();
添加(1);
for(int i=0;i
为什么不使用循环来逐个更新它们呢

将所有隐藏字段值放入
Ids
列表中。然后使用循环更新XML

List<int> Ids = new List<int>();
Ids.Add(1);

for (int i = 0; i < Ids.Count; i++)
{
    ID = Request.QueryString["sID"];
    XmlDocument xmlDoc = new XmlDocument();
    string filepathsUpdate = Server.MapPath("Action.xml");
    xmlDoc.Load(filepathsUpdate);
    XmlNode node = xmlDoc.SelectSingleNode("/CATALOG/CD[ID=" + Ids[i].ToString() + "]/Action");
    node.InnerText = ssplit[0];
    xmlDoc.Save(filepathsUpdate);
}
List id=new List();
添加(1);
for(int i=0;i
在LINQ to XML中,它非常简单:

var id = Request.QueryString["sID"];
XDocument doc = XDocument.Load("Action.xml");
var catalogDescendants = doc.Descendants("CATALOG");
foreach (var cd in catalogDescendants)
{
    //you can update the id here for whatever you want
    cd.Element("ID").Value = id;
}

在LINQ to XML中,这非常简单:

var id = Request.QueryString["sID"];
XDocument doc = XDocument.Load("Action.xml");
var catalogDescendants = doc.Descendants("CATALOG");
foreach (var cd in catalogDescendants)
{
    //you can update the id here for whatever you want
    cd.Element("ID").Value = id;
}