c#检查xml中的元素

时间:2012-05-07 18:57:08

标签: c# asp.net xml

如何检查xml文件以确定是否存在某些元素?例如,我有以下XML:

http://www.google.com/ig/api?weather=vilnius&hl=eng

我想检查“wind_condition”这个词是否存在:

if ("wind_condition") {do something}

4 个答案:

答案 0 :(得分:4)

尝试:

XmlNodeList list = xml.SelectNodes(“// wind_condition”);

然后,只需检查返回的列表并进行相应的处理。

答案 1 :(得分:2)

您可以使用类似的内容来查询文档,使用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();

答案 2 :(得分:2)

这将确定文件是否包含单词wind_condition

if(xml.ToString().Contains("wind_condition"))
{
    // do something
}

如果您需要元素wind_condition

if(xml.Descendants("wind_condition").Count() > 0)
{
    // do something
}

答案 3 :(得分:2)

由于您的根节点是xml_api_reply,因此无论wind_condition是否存在,以下内容都应返回bool(我刚测试它并且它似乎正在工作)

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
{
}