SORU
4 EYLÜL 2010, CUMARTESİ


Nasıl XElement veya SERİ ile XPath kullanmak için?

Düşünün aşağıdaki XML:

<response>
  <status_code>200</status_code>
  <status_txt>OK</status_txt>
  <data>
    <url>http://bit.ly/b47LVi</url>
    <hash>b47LVi</hash>
    <global_hash>9EJa3m</global_hash>
    <long_url>http://www.tumblr.com/docs/en/api#api_write</long_url>
    <new_hash>0</new_hash>
  </data>
</response>

Çok kısa bir yol için <hash> öğenin değerini almak için arıyorum. Denedim:

var hash = xml.Element("hash").Value;

Fakat bu da işe yaramıyor. XElement Bir XPath sorgusu sağlamak mümkün mü? Eski System.Xml çerçeve, bir şeyler yapıyor gibi: ile yapabilirim

xml.Node("/response/data/hash").Value

SERİ bir ad, böyle bir şey var mı?


GÜNCELLEME:

Etrafında biraz daha fazla oynamayı sonra yapmak istediklerimi yapmak için bir yol buldum:

var hash = xml.Descendants("hash").FirstOrDefault().Value;

Yine de eğer daha iyi bir çözüm yolu varsa görmek isterim?

CEVAP
4 EYLÜL 2010, CUMARTESİ


XML bu SERİ ile XPath kullanmak için bu kapsam içine System.Xml.XPath.Extensions uzatma yöntemleri getirecek System.Xml.XPath için kullanan bir bildirim ekleyin.

Örnek:

var value = (string)xml.XPathEvaluate("/response/data/hash");

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006