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