成熟而健壮的.NET类,允许/不允许XHTML标记/属性

成熟而健壮的.NET类,允许/不允许XHTML标记/属性,.net,string,xhtml,.net,String,Xhtml,我需要一个可扩展类来解析字符串并允许某些XHTML标记和属性。如果给定字符串包含无效标记,则应简单地对其进行编码,以便在输入时显示在页面上。我需要确保不会丢失任何用户输入 谢谢大家! 因为XHTML是有效的XML,所以您可以轻松地使用任何XML工具来处理它。您可以使用XmlReader实例读取XML节点,然后当您遇到不希望包含在输出中的标记时,只需将其包含在输出中的CDATA部分 您也可以在这里使用XSLT转换,但我不知道它是否允许在CDATA节中插入节点。该程序工作得很好,也可以处理格式不正确

我需要一个可扩展类来解析字符串并允许某些XHTML标记和属性。如果给定字符串包含无效标记,则应简单地对其进行编码,以便在输入时显示在页面上。我需要确保不会丢失任何用户输入


谢谢大家!

因为XHTML是有效的XML,所以您可以轻松地使用任何XML工具来处理它。您可以使用XmlReader实例读取XML节点,然后当您遇到不希望包含在输出中的标记时,只需将其包含在输出中的CDATA部分

您也可以在这里使用XSLT转换,但我不知道它是否允许在CDATA节中插入节点。

该程序工作得很好,也可以处理格式不正确的HTML。

该项目对于处理用户生成的标记也是非常有用的库。(所有模式,而不仅仅是XHTML)


e、 g.将其用作第一阶段的“清理器”,解析某人在文本框中输入的标记,并将其转换为有效的XML

用户将输入评论等。我想让他们在邮件中添加链接和其他标签。这组用户很聪明,知道HTML。有什么建议吗?@Josh Stodola:正如我所说的,您将浏览XML文档,并在浏览时过滤掉不需要的标记。XHTML是XML,因此您可以使用任何希望处理片段的XML工具。只需确保使用此设置测试无效标记即可。大多数XML库在遇到无效XML时都会抛出异常(考虑到您的用户,这可能是完全可以接受的)?我想要一个允许标签的白名单。其余的应该被编码。HtmlAgilityPack没有帮助。我很惊讶没有一个用于此的库。