0

我对 C# ASP.NET 中的 XML 文件有点陌生。我有以下格式的 XML:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Installation>
  <ServerIP>192.168.20.110</ServerIP>
  <DB_Name>USTCKT1</DB_Name>
  <Username>jorame</Username>
  <Password>Cru$%e20</Password>
  <Table_PreFix>TCK</Table_PreFix>
</Installation>

我需要更改每个元素中的值。例如,当用户单击时,我应该能够将 192.168.20.110 替换为 192.168.1.12。

我怎样才能做到这一点?任何帮助将不胜感激。

4

3 回答 3

1

您可以使用 XDocument 类执行以下操作:

XDocument doc = XDocument.Load(file.xml);
doc.Element("Installation").Element("ServerIP").Value = "192.168.1.12";
//Update the rest of the elements
doc.Save(file.xml);

更多细节

如果在选择元素时遇到命名空间问题,则需要在 XElement 选择器中包含 xml 命名空间,例如doc.Element(namspace + "Installation")

于 2013-03-09T03:22:02.197 回答
1

您应该查看使用 XDocument 类中的方法。http://msdn.microsoft.com/en-us/library/bb301598.aspx

具体看一下方法:Load(string) - 加载 XML 文件,Element() - 访问特定元素和 Save(string) - 保存 XML 文档。Element() 上的页面有一些可以提供帮助的示例代码。 http://msdn.microsoft.com/en-us/library/system.xml.linq.xcontainer.element.aspx

于 2013-03-09T03:22:03.720 回答
0

一般来说,您可以通过以下步骤进行操作:

  1. 创建一个新的 XmlDocument 对象并加载内容。内容可能是文件或字符串。
  2. 找到要修改的元素。如果你的xml文件的结构太复杂,你可以使用xpath找到你想要的。
  3. 将您的修改应用于该元素。
  4. 更新您的 xml 文件。

这是一个简单的演示:

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("file.xml"); // use LoadXml(string xml) to load xml string
    string path = "/Installation/ServerIP";
    XmlNode node = xmlDoc.SelectSingleNode(path); // use xpath to find a node
    node.InnerText = "192.168.1.12"; // update node, replace the inner text
    xmlDoc.Save("file.xml"); // save updated content   

希望它有帮助。

于 2013-03-11T15:07:15.473 回答