【发布时间】:2009-06-30 22:13:52
【问题描述】:
在 C# 中使用 XSLT 或 Linq to XML 进行 HTML 解析有什么优势?这是假设 html 已被清理,因此它是有效的 xhtml。这些值最终会进入一个 c# 对象进行验证和处理。
请让我知道这些是否有效以及是否还有其他需要考虑的事项。
XSLT 优势:
- 易于快速更改和部署
- 相当有名
XSLT 缺点:
- 未编译,因此处理速度较慢
- 字符串操作可能很麻烦
- 最后进入 C# 对象将更具挑战性
Linq to XML 优点:
- 已编译,因此运行速度更快
- 允许更好的字符串操作
Linq to XML 的缺点:
- 必须编译更新
编辑: 我应该澄清一下,我希望这些能够长期运行,并且网站可能会不时更新它们的布局。这是我认为我会使用不需要编译的东西的更大原因之一。
【问题讨论】:
-
Visual Studio 带来了 xsltc.exe(不确定它是否已包含在标准版中),允许您从 XSLT 编译程序集(中间语言中的 dll)。因此,XSLT 在运行时编译不一定会受到惩罚。
-
XSLT 在我看来调试起来很痛苦。 Linq to XML 更易于调试......如果你分解你的链式语句。
-
@Frank:您是否检查过 VS 2008 的 XSLT 调试器(或其他 XSLT IDE 之一,如 Oxygen 或 Altova XMLSpy)?它们让您可以单步执行 XSL 转换,就像单步执行 C# 或 Java 代码一样。
-
@Frank:尝试 IronXslt 作为 XSLT 调试器,正如@0xA3 指出的那样,它是 vs2008 的插件
标签: c# xslt linq-to-xml html-parsing