我試圖用控制檯應用程序將html列表轉換爲xml格式,但是我做了我計劃的內容,現在我不知道如何繼續。我會分享我的代碼並解釋一下。我現在不知道的是,讓我困惑的是'魔術'發生的地方。好吧,我知道我必須從頁面中取出該列表,閱讀列表中的所有標籤,但接下來,我該如何將該列表轉換爲xml格式?我是新來的XML我知道一些基本知識,所以請幫助我。將列表從html轉換爲xml格式
這裏是應用程序:
static void Main(string[] args)
{
string _url = "http://example.com/media";
int newsCounter = 0;
List<News> _newsList = new List<News>();
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(_url);
HtmlNode ulNode = doc.DocumentNode.SelectSingleNode("//ul[@class='content articles']");
HtmlNodeCollection liNode = ulNode.SelectNodes(".//li");
foreach (HtmlNode node in ulNode.SelectNodes(".//div[@class='article_box']"))
{
var news = new News();
news.Imgsrc = node.FirstChild.SelectSingleNode("//img").Attributes["src"].Value;
var nodes = doc.DocumentNode.FirstChild.SelectNodes("//img[@src]");
foreach (HtmlNode childNode in node.SelectNodes(".//div[@class='box_info']"))
{
// string src = node.SelectSingleNode("//img").Attributes["src"].Value;
foreach(HtmlNode _node in childNode.SelectNodes(".//h3"))
{
news.Link = "";
news.Title = _node.FirstChild.InnerText;
news.Date = _node.NextSibling.NextSibling.InnerText;
news.Text = _node.NextSibling.NextSibling.NextSibling.NextSibling.InnerText;
}
}
_newsList.Add(news);
newsCounter++;
}
,也是新聞類:
public class News
{
public string Imgsrc { get; set; }
public string Title { get; set; }
public string Link { get; set; }
public string Date { get; set; }
public string Text { get; set; }
}
這些都是我要讀從list.I我能夠閱讀並返回參數我列表中的所有新聞,但接下來,如何將我的列表轉換爲xml格式?歡迎任何建議。
那麼,最簡單的,現在你有代碼,將'News'標記爲'Serializable',然後使用'XmlSerializer'來導出它。在使用'XmlDocument'或LINQ to XML時,可能會更容易構建XML。 –
我同意邁克......不需要中間名單。直接使用XDocument構建XML。 – SledgeHammer