使用css / javascript注释在.NET中读取HTML文件

时间:2015-06-25 16:48:21

标签: .net linq-to-xml

我正在尝试将HTML文档加载到C#中的XDocument,并在<style>标记和<script>标记中遇到问题。具体来说,评论中包含<个字符,因此XDocument会引发错误,抱怨包含非法名称的错误。

这是我的C#代码:

XDocument doc = XDocument.Load(fileName);

我的html的一部分:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="..."/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*! 
 * Copyright 2012,2013 --- <example@gmail.com> 
...

到目前为止,我能想到的是将它作为字符串打开并将css / javascript包装在CDATA标签中(使用正则表达式),但我希望有一种更简单的方法

1 个答案:

答案 0 :(得分:0)

我同意上面的form_overrides评论 - 更适合您的问题域的是HTML解析器,而不是XML解析器。我有一段时间没有使用任何自己,但这里有一对搜索出现了:

ryascl

Html Agility Pack

A managed wrapper for the HTML Tidy library - 此转换为XML,但解析 HTML

相关的SE和维基百科链接:

Chilkat .NET HTML Conversion

C# library for parsing HTML?