簡體   English   中英

如何從xml節點“ OuterXml”讀取數據或屬性

[英]How to read the data or attributes from the xml node “OuterXml”

<?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等。 我已經試過了:

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結果。

我已經嘗試過了,但是保留了“ .value”:

var a =從doc.Descendants(“ latitude”)中的哈希值中選擇hash.value;

當我嘗試如下時,我得到了正確的結果:XmlDocument WeatherXML = new XmlDocument(); WeatherXML.Load(閱讀器);

            var dayt = GetXMLAsString(WeatherXML);
            XDocument doc = XDocument.Parse(dayt);

var a = from doc.Descendants(“ latitude”)中的哈希,請選擇hash;

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

通過使用System.Xml.Linq命名空間,我們可以調用一組便捷的方法。 對於您而言,以下代碼可以幫助您:

var doc = XDocument.Parse(WeatherXML);
var value = from e in doc.Elements()
            where e.Name == "wind_kt"
            select e.Value;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM