特定の名前のノードから最初の要素を取得する必要があるコードを書いているか、単にXmlNode.Itemインデクサーを使用しています。私が気付いた問題は、このノードにそのような子要素がない場合に何が起こるかをドキュメントが都合よく指定していないことです。Dictionaryが例外をスローすることが知られており、XmlAttributeCollection親切にも が返されることを述べているnullので、例外と ? のどちらに備えるべきnullですか?
1 に答える
1
これをテストするコードを使用すると、null が返されるようです。これが私が使用したコードスニペットです。
const string xmlData = @"<?xml version=""1.0"" encoding=""utf-16""?>
<testRoot xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
<ExampleData isData=""true"" testString=""Hello World!"">
content
</ExampleData>
</testRoot>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlData);
var item = doc["foo"];
Assert.IsNull(item);
于 2013-05-30T23:33:04.673 に答える