如何检查 xml 文件以确定是否存在某些元素?例如,我的 XML 来自:
http://www.google.com/ig/api?weather=vilnius&hl=eng
我想检查“wind_condition”这个词是否存在:
if ("wind_condition") {do something}
尝试:
XmlNodeList list = xml.SelectNodes("//wind_condition");
然后,只需检查返回的列表并进行相应处理。
您可以使用 Linq-to-Xml(未经测试)使用类似这样的方法来查询文档:
XDocument xdoc = XDocument.Load("http://www.google.com/ig/api?weather=vilnius&hl=eng");
XElement[] myElements = xdoc.Root.Element("weather")
.Elements()
.Where(xelement => xelement.Element("wind_condition") != null)
.ToArray();
这将确定文件是否包含单词wind_condition
.
if(xml.ToString().Contains("wind_condition"))
{
// do something
}
如果你想要元素wind_condition
if(xml.Descendants("wind_condition").Count() > 0)
{
// do something
}
由于您的根节点是 xml_api_reply,因此无论是否存在 wind_condition 都应该返回一个布尔值(我刚刚对其进行了测试,它似乎正在工作)
var result = (from t in loadedData.Descendants("xml_api_reply")
select t.Descendants("wind_condition").Any()).Single();
if(result) // equals to if wind_condition exists
{
}