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);
}
なにが問題ですか?