如果我有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中的所有值?我也想要检索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);
答案 0 :(得分:1)
声明.Element("thead")
应为
.Descendants("thead").First()
获得null异常的问题是因为元素thead
不是html
标记的第一级子级。它是后代。
更好,因为即使.Descendants("thead").First()
下面有一个子元素tr
,也就是th
元素。
而是更改您的代码,如下所示:
var headings = document.Descendants("th")
.Select(th => th.Value);
答案 1 :(得分:0)
您是否尝试过getElementsByTagName()?
你想只用Javascript解决这个问题吗?或者你可以使用jQuery?
使用jQuery,您可以使用$('table')。find()