我试图用控制台应用程序将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