1

如果我有一个 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 中的所有 th 值?我还想检索 tbody 表行中的所有值。

我曾尝试编写一些 XML 文档代码,但没有成功。我可以请一些代码来帮助我吗?

更新

这是我正在处理的当前代码:

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());
    }
}

我收到此错误:

你调用的对象是空的。

在线:

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

2 回答 2

1

声明.Element("thead")应该是

.Descendants("thead").First()

你得到一个空异常的问题是因为元素thead不是html标签的第一级子元素。它是一个后代。

更好,因为即使.Descendants("thead").First()是在它下面还有一个子元素tr,然后是th元素。

而是更改您的代码,如下所示:

var headings = document.Descendants("th")
                       .Select(th => th.Value);
于 2013-11-13T04:41:30.593 回答
0

Did you try getElementsByTagName()?

Do you want to solve this using only Javascript? or you can use jQuery?

Using jQuery you can use $('table').find()

于 2013-11-13T00:31:51.387 回答