使用LINQ读取XML字符串

本文关键字:字符串 XML 读取 LINQ 使用 | 更新日期: 2023-09-27 18:06:29

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

示例代码:

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

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

使用LINQ读取XML字符串

你是说这样吗?

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

在对XML执行LINQ查询时几乎所有不返回行的情况下,原因都是因为XML中有一个名称空间。检查根节点,看看是否有任何名称空间,并将它们包含在您的LINQ查询中。