phép nói rằng tôi có xml sau (một ví dụ nhanh)Sử dụng XPath để phân tích một tài liệu XML
<rows>
<row>
<name>one</name>
</row>
<row>
<name>two</name>
</row>
</rows>
Tôi cố gắng để phân tích điều này bằng cách sử dụng XmlDocument và XPath (cuối cùng để tôi có thể làm cho một danh sách các hàng).
Ví dụ ...
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach(XmlNode row in doc.SelectNodes("//row"))
{
string rowName = row.SelectSingleNode("//name").InnerText;
}
Tại sao, trong vòng lặp foreach của tôi, là rowName luôn "một"? Tôi hy vọng nó sẽ là "một" trong lần lặp đầu tiên và "hai" vào lần thứ hai.
Dường như tên // nhận được cá thể đầu tiên trong tài liệu, chứ không phải là cá thể đầu tiên trong hàng như tôi mong đợi. Sau khi tất cả, tôi đang gọi phương thức trên nút "hàng". Nếu đây là "nó hoạt động như thế nào" thì ai cũng có thể giải thích làm thế nào tôi có thể thay đổi nó để làm việc theo nhu cầu của tôi?
Cảm ơn bạn
thế nào về cách chọn nó bởi // hàng/tên? Điều này có hiệu quả không? – Steve