使用LINQ读取XML字符串

时间:2011-08-24 18:27:06

标签: c# silverlight linq sharepoint linq-to-xml

我正在从我的silverlight应用程序调用sharepoint服务/_vti_bin/usergroup.asmx。因为方法GetAllUserCollectionFromWeb()返回XML字符串。我需要遍历该XML字符串以获取所需的数据。但是这种情况下的LINQ to XML不起作用,因为它在加载XML文件和获取req数据时起作用。如何使用XML字符串执行LINQ to SQL的类似功能?

示例代码:

string str = @"<LanguageDetails>
                        <UserNode>
                            <Lang>
                                English
                            </Lang>
                        </UserNode>
                    </LanguageDetails>";

需要处理类似的字符串并迭代以使用LINQ to XML读取值。

2 个答案:

答案 0 :(得分:6)

你的意思是这样的吗?

string str = @"<LanguageDetails>
                   <UserNode>
                       <Lang>
                           English
                       </Lang>
                   </UserNode>
               </LanguageDetails>";
XElement xLanguageDetails = XElement.Parse(str);
foreach (XElement xUserNode in xLanguageDetails.Elements("UserNode"))
{            
}

答案 1 :(得分:1)

在进行LINQ to XML查询时几乎不会返回所有行的情况,原因是XML中有一个名称空间。检查根节点以查看是否存在任何名称空间并将其包含在LINQ查询中。