作为XML节点属性的一部分,我需要将HTML字符作为属性值的一部分传递,例如hello“/>。我不能将CDATA用作节点值的一部分,因为很多其他系统使用这种方法,我不能打破或重写这个过程,所以我坚持这个。
我无法对这些值进行HTML编码,因为它们在电子邮件中使用,然后逐字输出为HTML编码值(例如,< br> hello)。
有没有办法逃脱HTML(特别是<字符)并允许我将未编码的HTML内联作为属性?感谢。
答案 0 :(得分:3)
必须将XML字符<>&"
转义为与HTML实体<
相同,依此类推。使用XML APIS将接收/存储原始字符。 HTML中的其他字符实体应转换为UTF-8。十六进制(ü
)和十进制(࣭
)的数字实体很简单,但对于命名实体(•
),需要一个库。 (如果想要达到完整性。)