2011-06-19 62 views
0

我有以下.xml文件:NullRefernceException添加的XElement到的XDocument時

<?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> 

現在,當我嘗試使用下面的代碼它提出了一個NullReferenceException的「RemoteHosts」一節中再添「主機」 :

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"); 

效果很好,節約了新項目......什麼是錯的?

+0

可以調試,找出實際上是空?它是h變量還是「RemoteHosts」節點?不清楚。 –

+0

您保存的文件是否包含新的「主機」節點? –

+0

@ek_ny xmlList.Element(「RemoteHosts」)爲空.. – Rick

回答

1

XMLList包含只有1個節點及其ParamsRemoteHosts

+0

謝謝!現在使用xmlList.Element(「Params」)。Element(「RemoteHosts」)。添加...它的工作原理! – Rick

0

嘗試xmlList.Root.Element("RemoteHosts")