2009-08-17 8 views
12

XPathを使用して有効なxmlであるSTRINGをC#で照会する最も洗練された方法は何ですか?XPathを使用してXML文字列を照会する最もエレガントな方法

現在、私は(LINQを使用して)これをやっている:XMLへのLINQを使用して

var el = XElement.Parse(xmlString); 
var h2 = el.XPathSelectElement("//h2"); 
+2

またはLinqToXMLを使用しているといいと思います... – Scott

+0

現在、私はこれをやっています(linqを使用しています): var el = XElement.Parse(xmlString); var h2 = el.XPathSelectElement( "// h2"); – Scott

答えて

17

簡単な例:

XDocument doc = XDocument.Parse(someStringContainingXml); 
var cats = from node in doc.Descendants("Animal") 
      where node.Attribute("Species").Value == "Cat" 
      select node.Attribute("Name").Value; 

のXPath IMHOよりもはるかに明確...

+3

はXPathよりもクリーンかもしれませんが、質問には答えません。 –

+0

@DavidAlpert、おそらくそれは受け入れられました...とにかく、質問は完全に主観的です。どのように "エレガント"を定義しますか? –

+1

オリジナルの質問は、 "エレガントな... XPathを使って"定義する方法にかかっています –

3

だけのためにレコード、私はLinq2XMLではなく、XPathと行くことを望んでいないとこの方法を見つけた:

関連する問題