【发布时间】:2010-12-29 22:09:54
【问题描述】:
我有一个返回一些 XML 的 .asmx 网络服务。一个 XML 示例如下所示:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">http://www.mydomain.com/sample.txt</string>
我是 LINQ 的新手,但想熟悉它。我需要获取字符串元素内部的值。但我不确定如何使用 LINQ 来做到这一点。目前,我正在尝试:
string text = GetXmlText();
XDocument xml = XDocument.Parse(text);
string url = xml.Descendants("string").SingleOrDefault().Value;
此代码引发异常。但我不确定我做错了什么。如何使用 LINQ 获取响应值?
谢谢!
【问题讨论】:
-
首先,不是每个后代都是一个元素;其次,一般使用 FirstOrDefault 而不是 SingleOrDefault。但在本例中,您可以使用 Element() 方法解决问题
-
你遇到了什么异常?