当前位置:首页 > 文章列表 > 文章 > 前端 > XSLT 中安全转义 XML 内容以生成符合 HTML 规范的输出

XSLT 中安全转义 XML 内容以生成符合 HTML 规范的输出

2026-01-23 08:30:17 0浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《XSLT 中安全转义 XML 内容以生成符合 HTML 规范的输出 》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

XSLT 中安全转义 XML 内容以生成符合 HTML 规范的输出

在使用 .NET 的 XSLT 转换生成 HTML 时,`xsl:value-of` 默认会正确转义文本节点,但属性值(如 `value` 或自定义 `data-*` 属性)中的内联表达式不会自动转义,导致 XSS 风险;需通过 XHTML 输出方法或手动编码确保所有上下文均安全。

在标准 .NET System.Xml.Xsl(仅支持 XSLT 1.0)中, 对属性值中的动态内容(如 value="{/Contact/Name}")不执行 HTML 实体转义,而仅对 输出的文本内容做转义。这会导致原始 XML 中已编码的 <script> 在属性中被错误解析为未转义的