首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从xml节点"OuterXml“中读取数据或属性

如何从xml节点"OuterXml“中读取数据或属性
EN

Stack Overflow用户
提问于 2017-11-01 19:34:53
回答 2查看 634关注 0票数 0
代码语言:javascript
复制
<?xml-stylesheet href="latest_ob.xsl" type="text/xsl"?>
<current_observation version="1.0" >
    </image>
    <suggested_pickup>15 minutes after the hour</suggested_pickup>
    <suggested_pickup_period>60</suggested_pickup_period>
    <temp_f>44.0</temp_f>
    <temp_c>6.7</temp_c>
    <relative_humidity>55</relative_humidity>
    <wind_string>North at 6.9 MPH (6 KT)</wind_string>
    <wind_dir>North</wind_dir>
    <wind_degrees>340</wind_degrees>
    <wind_mph>6.9</wind_mph>
    <wind_kt>6</wind_kt>
    <pressure_string>1025.2 mb</pressure_string>
    <pressure_mb>1025.2</pressure_mb>
    <pressure_in>30.28</pressure_in>
    <dewpoint_string>28.9 F (-1.7 C)</dewpoint_string>
    <dewpoint_f>28.9</dewpoint_f>
    <dewpoint_c>-1.7</dewpoint_c>
</current_observation>

我想从上面的xml数据中获取一些属性,比如wind_dirwind_kt等。我已经尝试过了:

代码语言:javascript
复制
var dayt = GetXMLAsString(WeatherXML);
XDocument doc = XDocument.Parse(dayt);

var r = from element in doc.Elements()
        where element.Name == "latitude"
        select element;

foreach (var item in r)
{
    Console.WriteLine(item.Value);
}

我希望将此数据转换为数组或模型,以便将其发送到ajax结果。

EN

回答 2

Stack Overflow用户

发布于 2017-11-01 19:56:11

我之前试过了,但还是保留了".value":

var a= from hash in doc.Descendants("latitude") select hash.value;

当我尝试的时候,我得到了正确的结果: XmlDocument WeatherXML =新的XmlDocument();WeatherXML.Load(阅读器);

代码语言:javascript
复制
            var dayt = GetXMLAsString(WeatherXML);
            XDocument doc = XDocument.Parse(dayt);

var = from hash in doc.Descendants("latitude") select hash;

代码语言:javascript
复制
            var asdd = from hash in doc.Descendants("current_observation")
                    select hash;
票数 0
EN

Stack Overflow用户

发布于 2017-11-01 20:19:38

通过使用System.Xml.Linq名称空间,我们可以调用一组方便的方法。在您的情况下,以下代码会有所帮助:

代码语言:javascript
复制
var doc = XDocument.Parse(WeatherXML);
var value = from e in doc.Elements()
            where e.Name == "wind_kt"
            select e.Value;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47053892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档