Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 自动HTML标准化?_.net_Html - Fatal编程技术网

.net 自动HTML标准化?

.net 自动HTML标准化?,.net,html,.net,Html,是否有一个.NET实用程序可以获取HTML片段(而不是整个文档)并输出符合标准的HTML等价物 也就是说,和都决心做同一件事 我并没有试图修复任何东西,只是标准化了一些格式良好但已经过时的描述文本,以便最终输出具有一致的格式 谢谢我知道.Net中没有任何HTML规范化工具,但是,一个好的起点是(或)。在这一点上,您有机会将.Net中的HTML解释为DOM文档,然后可以根据您设定的一些规则转换各种片段。如果您有XHTML,您的工作可能会简单得多,只需要一个CSS解释器来处理样式属性,作为规范化代码

是否有一个.NET实用程序可以获取HTML片段(而不是整个文档)并输出符合标准的HTML等价物

也就是说,
都决心做同一件事

我并没有试图修复任何东西,只是标准化了一些格式良好但已经过时的描述文本,以便最终输出具有一致的格式


谢谢

我知道.Net中没有任何HTML规范化工具,但是,一个好的起点是(或)。在这一点上,您有机会将.Net中的HTML解释为DOM文档,然后可以根据您设定的一些规则转换各种片段。如果您有XHTML,您的工作可能会简单得多,只需要一个CSS解释器来处理样式属性,作为规范化代码的一部分

或者,您可以将Java移植到.Net。

请注意,您提供的两个字符串都是有效的、符合标准的HTML。您可能希望将等效的表示标记转换为规范格式。我不知道有什么工具可以自动完成这项工作,但您可以使用XSLT来解决它


编辑:sixlettervariables指出您不能在XSLT中解析CSS。因此,诀窍是将
转换为
,而不是反过来:-)

我想我在Microsoft.mshtml名称空间中找到了所需的内容。

诀窍是让XSLT处理CSS!设想在同一样式属性中有第二个CSS语句。这不是一个有趣的问题。这个例子(b和span)并不等同。在没有应用任何其他样式表的情况下,它们可能看起来很相似,但它们有不同的语义。是的,我知道它们不完全相同,我尝试做的是有点不寻常,不是典型的HTML Tidy类型操作。尽管如此,我相信有人曾经尝试过这样做。这正是我所设想的解决方案,将HTML解析为DOM或伪DOM内存结构,其中包含CSS格式属性,然后输出HTML字符串……就像我最终将自己编写一样。不过,我建议将tidy fork作为起点。它可以合并嵌套的span/div、清除不相关的标记等。它至少可以让您获得一个干净、可靠的HTML,从而将其转换为DOM。下一个是CSS解析器,然后将其全部Linq转换为XML。。。