2012-02-02 3 views
3

Мне нужно очистить XML-файл от http://feeds.feedburner.com/Torrentfreak за его ссылки и описание.Как очистить файл xml с помощью htmlagilitypack

Я использовал этот код:

var webGet = new HtmlWeb(); 
       var document = webGet.Load("http://feeds.feedburner.com/TechCrunch"); 
    var TechCrunch = from info in document.DocumentNode.SelectNodes("//channel") 
           from link in info.SelectNodes("//guid[@isPermaLink='false']") 
           from content in info.SelectNodes("//description") 
    select new 
           { 
            LinkURL = info.InnerText, 
            Content = content.InnerText, 

           }; 
lvLinks.DataSource = TechCrunch; 
      lvLinks.DataBind(); 

я использовал это в списке управления представления для отображения на странице ASP.NET. использованием

<%# Eval("LinkURL") %> - <%# Eval("Text") %> 

Но его ошибка, показывающая

Значение не может быть пустым. Имя параметра: источник

В чем проблема? И возможно ли очищать (извлекать) данные XML-узлов с помощью HtmlAgilityPack? Пожалуйста, предложите Спасибо

+0

Почему бы не использовать XML-библиотеку вместо HtmlAgil ityPack? – jerjer

+0

@jerjer: Actaully Я использую HtmlAgilityPack для скопирования данных HTML, но когда теперь я столкнулся с файлом XML, мне нужно искать способ достижения этого. – CracLock

ответ

0

Попробуйте использовать RSS библиотеку вместо HtmlAgilityPack:

Вот некоторые ссылки, которые могут помочь вам:

+0

Что делать, если вместо этого я выбираю библиотеку XML, предложенную jerjer? – CracLock

+0

и эффективнее, чем библиотека XML? – CracLock

+0

@CracLock, я не делал тестов между HtmlAgilityPack и XML-библиотекой, но я думаю, что с точки зрения эффективности не существует большой разницы. IMO, XML-библиотека проще использовать, чем с HtmlAgilityPack при работе с xml-файлами. – jerjer

0

Ошибка говорит, что значение равно null. Так что, возможно, есть

select new 
     { 
       LinkURL = info.InnerText??string.Empty, 
       Content = content.InnerText??string.Empty, 

     }; 

или в aspx. Я думаю, что это должно быть минус в строке, как это:

<%# Eval("LinkURL")??string.Empty %>+"-"+<%# Eval("Text")??string.Empty %> 
+0

Еще одна проблема ... не может быть решена. – CracLock