我正在使用sharePoint Lists webservice,为了在搜索页面中加载下拉列表,我需要从XML中提取所有“ows_Country”名称,在格式为:
的XMLNode中进行回放<rs:data ItemCount="1" xmlns:rs="urn:schemas-microsoft-com:rowset">
<z:row ows_Title="Nike" ows_ID="1" ows_Country="Spain" xmlns:z="#RowsetSchema" />
<z:row ows_Title="Addidas" ows_ID="4" ows_Country="Brazil" xmlns:z="#RowsetSchema" />
<z:row ows_Title="Puma" ows_ID="5" ows_Country="Spain" xmlns:z="#RowsetSchema" />
</rs:data>
我需要使用LINQ从XMLNode获取不同的“ows_Country”,请帮助可能是我第一次使用LINQ以及XML。
答案 0 :(得分:5)
XNamespace rs = "urn:schemas-microsoft-com:rowset";
XNamespace z = "#RowsetSchema";
XDocument doc = XDocument.Load(...);
var result = doc.Element(rs + "data")
.Elements(z + "row")
.Select(e => (string)e.Attribute("ows_Country"))
.Distinct()
.ToList();