我想读入一个包含HTML文件的动态URL,并根据节点(HTML标记)像读取XML文件一样读取它。这有没有可能呢?
我的意思是,有这样一段HTML代码:
<table class="bidders" cellpadding="0" cellspacing="0">
<tr class="bidRow4">
<td>kucik (automata)</td>
<td class="right">9 374 Ft</td>
<td class="bidders_date">2010-06-10 18:19:52</td>
</tr>
<tr class="bidRow4">
<td>macszaf (automata)</td>
<td class="right">9 373 Ft</td>
<td class="bidders_date">2010-06-10 18:19:52</td>
</tr>
<tr class="bidRow2">
<td>kucik (automata)</td>
<td class="right">9 372 Ft</td>
<td class="bidders_date">2010-06-10 18:19:42</td>
</tr>
<tr class="bidRow2">
<td>macszaf (automata)</td>
<td class="right">9 371 Ft</td>
<td class="bidders_date">2010-06-10 18:19:42</td>
</tr>
<tr class="bidRow0">
<td>kucik (automata)</td>
<td class="right">9 370 Ft</td>
<td class="bidders_date">2010-06-10 18:19:32</td>
</tr>
<tr class="bidRow0">
<td>macszaf (automata)</td>
<td class="right">9 369 Ft</td>
<td class="bidders_date">2010-06-10 18:19:32</td>
</tr>
<tr class="bidRow8">
<td>kucik (automata)</td>
<td class="right">9 368 Ft</td>
<td class="bidders_date">2010-06-10 18:19:22</td>
</tr>
<tr class="bidRow8">
<td>macszaf (automata)</td>
<td class="right">9 367 Ft</td>
<td class="bidders_date">2010-06-10 18:19:22</td>
</tr>
<tr class="bidRow6">
<td>kucik (automata)</td>
<td class="right">9 366 Ft</td>
<td class="bidders_date">2010-06-10 18:19:12</td>
</tr>
<tr class="bidRow6">
<td>macszaf (automata)</td>
<td class="right">9 365 Ft</td>
<td class="bidders_date">2010-06-10 18:19:12</td>
</tr>
</table> 我想把它解析成一个ListView (或网格)来创建包含数据的行。所有tr都是不同的行,并且给定td中的所有td都是给定行中的一列。
我还希望它尽可能快,因为它会在5秒内自我更新。
有没有这样的库呢?
发布于 2010-06-11 00:26:43
我推荐HTML Agility Pack。您必须自己处理GUI部分。它不需要有效的超文本标记语言,但会创建一个类似于XmlDocument的HtmlDocument。
发布于 2010-06-11 00:29:15
当然,这是可能的。但需要注意的是,兼容的xml处理程序应该将任何格式不正确的内容都视为致命错误。这意味着它只适用于通过xhtml严格验证的文档。
发布于 2010-06-11 00:37:45
为什么不直接进行字符串替换,将HTML表格转换为XML:
<table class="bidders" cellpadding="0" cellspacing="0">变成:
<?xml version="1.0" encoding="UTF-8"?>和
<tr class="bidRow4">变成了
<item>和
<td class="right">变成了
<field1>等
EDIT 1:
我还认为DataSet类有一个:
.ReadXML方法,这样您就可以将数据绑定到该数据集:
DataSet ds = new DataSet();
ds.ReadXml("foo.xml");
DataGrid.DataSource = ds;
DataGrid.DataBind();或者类似的东西
https://stackoverflow.com/questions/3016327
复制相似问题