2013-11-13 4 views
1

Если у меня есть документ HTML, как наилучшим образом получить все значения тегов в таблице?Получить значения тегов в html-документе

Вот пример:

<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
    <table border="1"> 
     <thead> 
     <tr> 
      <th>#</th> 
     </tr> 
     </thead> 
     <tbody> 
     <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
      <td></td> 
     </tr> 
     </tbody> 
    </table> 
    </body> 
</html> 

Как я могу получить все го значения в THEAD? Я также хочу получить все значения в строках таблицы тел.

Я попытался написать некоторый код XML-документа, но не повезло. Могу ли я, пожалуйста, иметь какой-то код, чтобы помочь мне?

UPDATE

Вот мой текущий код, я работаю над:

using (StreamReader sr = new StreamReader(textBoxBugTrackFilename.Text)) 
{ 
    String line = sr.ReadToEnd(); 
    var document = XDocument.Parse(line); 

    var headings = document.Element("thead").Elements().Select(x => x.Value); 
    foreach (var h in headings) 
    { 
     MessageBox.Show(h.ToString()); 
    } 
} 

Я получаю эту ошибку:

Object reference not set to an instance of an object.

В строке:

var headings = document.Element("thead").Elements().Select(x => x.Value); 
+0

Этот вопрос не показывает много усилий с вашей стороны. Рассмотрим пример кода, который пытается решить описанную вами проблему. –

+0

как вы пытаетесь получить значения? В backend/frontend? –

+0

Можете ли вы посмотреть мое обновление? – user2985419

ответ

1

Заявление .Element("thead") должно быть

.Descendants("thead").First() 

Проблема вы получаете нулевое исключение, потому что элемент thead не ребенок первого уровня тега html. Это потомок.

Лучше, потому что даже с .Descendants("thead").First() является то, что есть подэлемент tr ниже, а затем th элементов.

Вместо изменения кода, как показано ниже:

var headings = document.Descendants("th") 
         .Select(th => th.Value); 
0

Вы пытались getElementsByTagName()?

Вы хотите решить это, используя только Javascript? или вы можете использовать jQuery?

Использование JQuery вы можете использовать $ («стол»). Найти()

+0

Я пишу этот код в C# ... – user2985419

Смежные вопросы