簡體   English   中英

從RSS中的CDATA獲取數據

[英]Get data from a CDATA in a RSS

使用下一個提要獲取天氣時間:

http://weather.yahooapis.com/forecastrss?w=2502265

DOM中有一部分我不知道要獲取數據。 在這種情況下,我只想獲取圖像的URL:

<description>
<![CDATA[
<img src="http://l.yimg.com/a/i/us/we/52/33.gif"/><br /> <b>Current Conditions:</b><br /> Fair, 70 F<BR /> <BR /><b>Forecast:</b><BR /> Wed - Mostly Cloudy. High: 82 Low: 66<br /> Thu - Sunny. High: 86 Low: 63<br /> Fri - Partly Cloudy. High: 74 Low: 59<br /> Sat - Partly Cloudy. High: 76 Low: 59<br /> Sun - Sunny. High: 77 Low: 58<br /> <br /> <a href="http://us.rd.yahoo.com/dailynews/rss/weather/Sunnyvale__CA/*http://weather.yahoo.com/forecast/USCA1116_f.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> (provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/>
]]>
</description>

這是我當前在C#中的代碼。 我需要訪問URL什么?

        XNamespace yweather_NS = "http://xml.weather.yahoo.com/ns/rss/1.0";

        var query2 = from w in doc2.Descendants("channel")
                     select new WeatherDay()
                     {
                         Location = w.Element(yweather_NS + "location").Attribute("city").Value,
                         Temp = int.Parse(w.Element("item").Element(yweather_NS + "condition").Attribute("temp").Value),
                         Humidity = int.Parse(w.Element(yweather_NS + "atmosphere").Attribute("humidity").Value),
                         //Visibility = double.Parse(w.Element(yweather_NS + "atmosphere").Attribute("visibility").Value),
                         Condition = w.Element("item").Element(yweather_NS + "condition").Attribute("text").Value,
                         Pressure = double.Parse(w.Element(yweather_NS + "atmosphere").Attribute("pressure").Value)
                     };

看來您需要獲取description元素的文本,然后進行解析:

var descriptionText = w.Element(yweather_NS + "description");
// The XML is a sequence of elements with no root: we'll add a root ourselves.
var descriptionXml = "<description>" + descriptionText.Trim() + "</description>";
var descriptionElement = XElement.Parse(description);
string url = descriptionElement.Element("img").Attribute("url").Value;

你可能會想一些驗證有實際上 img與元素url當然屬性。

暫無
暫無

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

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