我正在處理從XML文檔訪問特定節點。我意識到這是一個基本的命名空間。這裏是例子。如何使用名稱空間獲取xml中的特定節點?
我感興趣得到節點d的值:從所有的子節點(項)MediaUrl。我還沒有完成。
當調試變量迭代器「我」,我可以看到,XML也包括默認的命名空間,像:
<entry xmlns="http://schemas.microsoft.com.ado/..."
而且我也必須包括所謂的「d」另一個命名空間。
我能做些什麼來訪問特定節點?
這就是我所擁有的。
var doc = XDocument.Parse(result);
string BASE_NS = "http://www.w3.org/2005/Atom";
string d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
var query = from i in doc.Descendants(XName.Get("entry", BASE_NS))
select new Image()
{
Url = i.Element(XName.Get("MediaUrl", BASE_NS)).Value
};
var results = query.ToList();
此外,你選擇將無法正常工作,因爲「MediaURL」不是「Entry」的子項,它是「縮略圖」 - 「i.Element(」content「)的子元素。 .Element(「Thumbnail」)。元素(「MediaUrl」)'(爲了簡潔省略了命名空間)。 – Tim
謝謝蒂姆。 'i.Element(「content」)不幸的是返回null,是否必須包含任何名稱空間? –
是否要從每個「條目」或所有「MediaUrl」元素?每個條目中有兩個 - 屬性下,縮略圖下一個。 – Tim