尝试更新 XML 的节点值并引发异常

本文关键字:异常 节点 更新 XML | 更新日期: 2023-09-27 18:37:13

我正在尝试从XML文件更新节点值,但是当我尝试执行此操作时,会引发异常"其他信息:对象引用未设置为对象的实例"。

这是我所拥有的:

public void UpdateXMLValues(List<string> values)
{
    XmlNode node;
    xmldoc = new XmlDocument();
    xmldoc.Load(XMLInterfaces);
    node = xmldoc.SelectSingleNode("Servers/MYSERVER");
    XMLValues = new List<string>(values);
    node.Attributes["Host"].Value = XMLValues[0];
    xmldoc.Save(XMLInterfaces);
}

这是我的 XML 信息:

<Servers>
  <MYSERVER>
    <Host>0.0.0.0</Host>
    <Port>23</Port>
    <User>TestingUser</User>
    <Password>/NNfWRStbZsUyc88S5tjhA==</Password>
  </MYSERVER>
</Servers>

当我在行节点中按 F11 时。属性["主机"].values = XMLValues[0];我收到错误

知道吗?

尝试更新 XML 的节点值并引发异常

>Host不是MYSERVER元素的属性。它是它里面的一个元素

您可以像这样访问它:

var hostNode = node["Host"];
hostNode.Value = XMLValues[0];

作为参考,如果它是一个属性,您的 XML 将如下所示:

<MYSERVER host="some_host">
</MYSERVER>