2009-08-17 38 views
12

Tôi tự hỏi cách thanh lịch nhất là gì trong C# để truy vấn STRING là xml hợp lệ bằng XPath?Cách thanh lịch nhất để truy vấn chuỗi XML bằng cách sử dụng XPath

Hiện nay, tôi đang làm điều này (sử dụng LINQ):

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

hoặc tôi cho rằng việc sử dụng LinqToXML cũng tốt ... – Scott

+0

hiện tại, tôi đang thực hiện việc này (sử dụng LINQ): var el = XElement.Parse (xmlString); var h2 = el.XPathSelectElement ("// h2"); – Scott

Trả lời

17

Ví dụ đơn giản sử dụng LINQ to XML:

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

rõ ràng hơn nhiều so với XPath IMHO ...

+3

có thể sạch hơn XPath nhưng không trả lời câu hỏi. –

+0

@DavidAlpert, có lẽ, nhưng nó đã được chấp nhận tuy nhiên ... Dù sao, câu hỏi là hoàn toàn chủ quan: làm thế nào để bạn xác định "thanh lịch"? –

+1

Câu hỏi ban đầu bản lề về cách bạn xác định "thanh lịch ... bằng cách sử dụng XPath" –

3

Just for hồ sơ, tôi không muốn đi với Linq2XML nhưng XPath và tìm thấy theo cách này:

var xPathDoc = new XPathDocument(new StringReader("your XML string goes here")); 
Các vấn đề liên quan