1

XMLからデータを取得しようとしています。私が知っていることは、見つけようとしている動物が XML データにない場合、常にエラーが発生するということです。例を示します。

これは XML で保存されたデータです。

<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Animal value="Elephant" size="2" name="Bob">
    <Action age="1" size="1">I am small</Action>
    <Action age="2" size="1">I am growing up</Action>
    <Action age="3" size="1">I'm 3 years old</Action>
    <Action age="4" size="1">I'm BIG</Action>
</Animal>
</Root>

これは C# コーディングの一部です。

XmlDocument xDoc = new XmlDocument();
xDoc.Load("animals.xml");
string animal = "Elephant";
MessageBox.Show(Convert.ToString(xDoc.SelectSingleNode("/Root/Animal[@value='" + animal + "']")
                                     .Attributes["name"].InnerText));

変更するとエラーが発生します

string animal = "Tiger";

データが存在しない場合のエラーを解決するにはどうすればよいですか?

4

3 に答える 3

0

何かのようなもの

var animalNode = xDoc.SelectSingleNode("/Root/Animal[@value='" + animal + "']");
if (animalNode != null)
{
  var valueAttr = animalNode.Attributes["value"];
  if (valueAttr != null)
  {  
     MessageBox.Show(valueAttr.InnerText); //.value ???
  }
}
于 2013-07-21T10:30:36.240 に答える