Linq中的XDocument怎样解析这样的XML?

本文介绍了一段关于XML格式天气数据的解析代码,并指出其中存在的问题。该代码尝试从一段XML字符串中提取北京地区的天气信息,包括位置、时间、风向等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml version="1.0" encoding="utf-8" ?>

<string xmlns="http://www.webserviceX.NET"><?xml version="1.0" encoding="utf-16"?> <CurrentWeather> <Location>Beijing, China (ZBAA) 39-56N 116-17E 55M</Location> <Time>Feb 22, 2011 - 02:30 AM EST / 2011.02.22 0730 UTC</Time> <Wind> from the SSE (160 degrees) at 4 MPH (4 KT) (direction variable):0</Wind> <Visibility> less than 1 mile:0</Visibility> <SkyConditions> clear</SkyConditions> <Temperature> 46 F (8 C)</Temperature> <DewPoint> 23 F (-5 C)</DewPoint> <RelativeHumidity> 39%</RelativeHumidity> <Pressure> 30.03 in. Hg (1017 hPa)</Pressure> <Status>Success</Status> </CurrentWeather></string>
16:30:59
我的错误的解析代码如下:
private void displayCurrentWeatherData(string xmlContent)
{
try
{
if (xmlContent != string.Empty)
{
XDocument xmlUsers = XDocument.Parse(xmlContent);//Linq
var weather = from user in xmlUsers.Descendants("CurrentWeather")
select new CurrentWeather
{
Location = (string)
user.Element("Location").Value,
Time = (string)
user.Element("Time").Value,
Wind = (string)
user.Element("Wind").Value,
Visibility = (string)
user.Element("Visibility").Value,
SkyConditions = (string)
user.Element("SkyConditions").Value,
Temperature = (string)
user.Element("Temperature").Value,
DewPoint = (string)
user.Element("DewPoint").Value,
RelativeHumidity = (string)
user.Element("RelativeHumidity").Value,
Pressure = (string)
user.Element("Pressure").Value,
Status = (string)
user.Element("City").Value
};
那位高手可以给我讲讲我错在那里呀?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值