在不使用XML解析器的情况下从XML文档中提取数据

时间:2011-06-05 14:30:11

标签: c# xml regex

以下是该文件的一些内容:

  <div class="rowleft">
    <h3>Technical Fouls</h3>

    <table class="num-left">
      <tr class="datahl2b"> 
        <td>&nbsp;</td>
            <td>Players</td>
          </tr>
          <tr> 
            <td>DAL</td>
            <td>
              None</td>

          </tr>
          <tr> 
            <td>MIA</td>
            <td>
              Mike Miller</td>
            <td>
              Mike Miller, Jr.</td>
          </tr>
        </table>
    </div> 

我有兴趣从中提取NoneMike Miller以及Mike Miller, Jr.。我尝试使用各种XML解析器,但1)性能很差,2)文档显然不是格式正确的XML文档。

我一直在考虑的一件事是剥离新行的文档,将其拆分为<tr>,查看哪些行包含数据(可能使用StartsWith()),并使用正则表达式提取它。这对我的程序来说足够高效(下载文档时需要半秒钟并不重要),但我对它的替代解决方案很感兴趣。

2 个答案:

答案 0 :(得分:3)

Relevant

HTML通常格式不正确的XML,我建议您使用类似HTML Agility pack

的内容

答案 1 :(得分:0)

尝试使用字符串操作和正则表达式来解析HTML总是会非常容易出错。

如果您的文档格式不正确,我建议您使用HTML Agility Pack