Asp.net 如何从xml中检索特定节点的值并再次更新xml 13 1. 4. 6. 1.

Asp.net 如何从xml中检索特定节点的值并再次更新xml 13 1. 4. 6. 1.,asp.net,xml,Asp.net,Xml,这是我的xml文件。 我有一个带有值的下拉列表(gallery1、gallery2、gallery3等等)。 如果用户选择gallery2并在文本框中键入5 单击OK按钮,然后我需要加载上面的XML文件,并检查需要更新的库值。但首先我们需要从XML中获取值 在这里,我试图更新gallery2,因此首先我需要获得gallery2的值(4) 然后将新值与旧值(5+4=9)相加,然后保存。现在gallery2将包含值9 结果 <?xml version="1.0"?> <I

这是我的xml文件。 我有一个带有值的下拉列表(gallery1、gallery2、gallery3等等)。 如果用户选择gallery2并在文本框中键入5 单击OK按钮,然后我需要加载上面的XML文件,并检查需要更新的库值。但首先我们需要从XML中获取值

在这里,我试图更新gallery2,因此首先我需要获得gallery2的值(4) 然后将新值与旧值(5+4=9)相加,然后保存。现在gallery2将包含值9

结果

<?xml version="1.0"?>
     <Image>    
        <Overview>13</Overview>  
        <Gallery1>1</Gallery1>    
        <Gallery2>4</Gallery2>
        <Gallery3>6</Gallery3>    
        <Gallery4>1</Gallery4>
     </Image>

13
1.
**9**
6.
1.

我想你要找的是

 <?xml version="1.0"?>
     <Image>    
        <Overview>13</Overview>  
        <Gallery1>1</Gallery1>    
        **<Gallery2>9</Gallery2>**
        <Gallery3>6</Gallery3>    
        <Gallery4>1</Gallery4>
     </Image>

此方法的一个更通用的版本将把整个XPath带到您想要更改的元素,而不是仅仅假设它是顶级
Image
元素的子元素

 protected void Button12_Click(object sender, EventArgs e)
    {
        lbl = GetLabel(275, 20);
        //Declare and load new XmlDocument
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(MapPath("XmlSample.xml"));
        //delete a mode
        XmlNode node;
        node = xmlDoc.SelectSingleNode("//Image");
        node.ParentNode.RemoveChild(node);
        //create a node and add it
        XmlElement newElement =
        xmlDoc.CreateElement("myNewElement");
        node = xmlDoc.SelectSingleNode("//Image");
        node.ParentNode.InsertAfter(newElement, node);
        xmlDoc.Save(MapPath("XmlSampleModified.xml"));
    }

好的,您的代码的哪一部分需要帮助?或者您只是想了解使用.net类的一般说明吗?为什么我们使用的这行代码是(“//myChild[@ChildID='ref-3']”;//“ref-3”在这里做什么我的孩子在这里代表什么我应该用图像替换它吗
private void AddElementValue(XmlDocument doc, string tagName, int valueToAdd)
{
   XmlElement elm = doc.SelectSingleElement("/Image/" + tagName);
   Debug.Assert(elm != null, "Didn't find " + tagName);
   int currentValue;
   if (int.TryParse(elm.InnerText, out currentValue))
   {
      elm.InnerText = (currentValue + valueToAdd).ToString();
      return;
   }
   Debug.Fail(elm.InnerText + " can't be parsed as an integer.");       
}