我在在线动态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 = "";
}
答案 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
}