如何控制我想要阅读的标签是否在xml文件中

时间:2017-07-01 08:23:28

标签: c# xml

我在在线动态xml文件中读取了一些信息的标签。但是,如果我想要读取的标记不在xml文件中,则会发生错误。所以,我想检查一下xml文件。如果标记位于xml文件中,则开始读取标记的xml。如果标签不在xml文件中,则不读取。我不擅长编码c#..

我使用此方法读取xml文件。

var xmldoc = new XmlDocument();
xmldoc.Load("http://yourwebsite.com/weather.xml");,

temperature.Text = xmldoc.SelectSingleNode("temp").InnerXml.ToString();
windspeed.Text = xmldoc.SelectSingleNode("wind_spd").InnerXml.ToString();
storm.Text = xmldoc.SelectSingleNode("storm").InnerXml.ToString();

风暴标记有时会出现在xml文件中。然后我可以读一下这个时间。 但是当风暴标记不在xml文件中时,我会出错。代码不起作用。

很快,我想这样做,

if(the storm tag is in xml) //check xml file.
{
 storm.Text = xmldoc.SelectSingleNode("storm").InnerXml.ToString();
}
else
{
    storm.text = "";
}

2 个答案:

答案 0 :(得分:0)

您可以使用空传播。 就像是: temperature.Text = xmldoc.SelectSingleNode("temp")?.InnerXml.ToString(); 因此,如果xmldoc.SelectSingleNode("temp")返回null,则temperature.Text也将为空而无例外。

答案 1 :(得分:0)

检查这样的节点:

var node = xmldoc.SelectSingleNode("storm");
if (node != null)
{
    storm.Text = xmldoc.SelectSingleNode("storm").InnerXml.ToString();
}
else
{
    //node doesn't exist
}