XSLT或Linq对XML的优势

Ben*_*dox 9 c# xslt linq-to-xml html-parsing

在C#中使用XSLT或Linq to XML进行HTML解析有什么好处?这是假设html已被清理,因此它是有效的xhtml.这些值最终会进入ac#对象进行验证和处理.

如果这些内容有效并且还有其他事项需要考虑,请告诉我.

XSLT的优点:

  • 易于快速更改和部署
  • 相当知名

XSLT缺点:

  • 没有编译,因此处理速度较慢
  • 字符串操作可能很麻烦
  • 最后进入C#对象会更具挑战性

Linq to XML的优点:

  • 编译,所以它运行得更快
  • 允许更好的字符串操作

Linq to XML缺点:

  • 必须编译才能进行更新

编辑:我应该澄清,我希望这些可以长期运行,网站可能会暂时更新其布局.这是我认为我会使用不需要编译的东西的更大原因之一.

Dir*_*mar 15

在不进一步了解您的用例的情况下,很难为您提供一般性建议.

无论如何,你有点比较苹果和橘子.LINQ to XML(和一般的LINQ)是一种查询语言,而XSLT是一种转换XML树结构的编程语言.这些是不同的概念.只要您想从数据源中提取某些特定信息,就可以使用查询语言来执行您需要执行的任何操作(无论是在C#对象中设置字段).相反,转换对于将数据的一个XML表示转换为另一个XML表示非常有用.

所以,如果你的目标是创建XML C#对象,你可能不希望使用XSLT,但任何由.NET Framework提供了处理XML数据的其他技术:旧的XmlDocument,XmlReader,XPathDocument,XmlSerializerXDocument.每个都有它的特殊优点和缺点,取决于输入大小,输入复杂性,所需输出等.

由于您只处理HTML,因此您可能还想查看CodePlex 上的HTML Agility Pack.