将XElement添加到XDocument时出现NullRefernceException

时间:2011-06-19 11:23:12

标签: c# nullreferenceexception xelement

我有以下.xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<Params>
  <Name>Resolver1</Name>
  <RemoteHosts>
    <Host>
      <Name>Locale</Name>
       <IP>localhost</IP>
       <Port>8082</Port>
     </Host>
  </RemoteHosts>
</Params>

现在,当我尝试使用以下代码在“RemoteHosts”部分中添加另一个“Host”时,它会引发NullReferenceException:

XDocument xmlList = XDocument.Load("NetConfig.xml");

xmlList.Element("RemoteHosts").Add(new XElement("Host",    
new XElement("Name", h.name),
new XElement("IP", h.IP),
new XElement("Port", h.port)));

无论如何

xmlList.Save("NetConfig.xml");

效果很好,保存新项目......出了什么问题?

2 个答案:

答案 0 :(得分:1)

XmlList只包含1个节点,而Params不包含RemoteHosts

答案 1 :(得分:0)

尝试xmlList.Root.Element("RemoteHosts")