我想使用 LINQ to XML 删除文件中的设备元素
我的文件是这样的
<?xml version="1.0" encoding="utf-8"?>
<settings>
<IncomingConfig>
<ip>10.100.101.18</ip>
<port>5060</port>
</IncomingConfig>
<Device>
<username>xxx</username>
<password>Pa$$w0rd1</password>
<domain>go</domain>
<Uri>xxxx@xxx.com</Uri>
</Device>
<Device>
<username>yyy</username>
<password>Pa$$w0rd1</password>
<domain>go</domain>
<Uri>yyyy@yyyy.com</Uri>
</Device>
</settings>
我正在尝试这个,但它给了我一个NullReferenceException
public void DeleteDevice(List<Device> devices)
{
var doc = XDocument.Load(PATH);
foreach (Device device in devices)
{
doc.Element("Settings").Elements("Device").Where(c => c.Element("URI").Value == device.URI).Remove();
}
doc.Save(PATH);
}
怎么了?