?,./;" 当我尝试使用带有输入的 api org.w3-6ren">
gpt4 book ai didi

java - org.w3c.dom.Node.setNodeValue() 不编码某些特殊字符

转载 作者:行者123 更新时间:2023-12-01 12:36:41 25 4
gpt4 key购买 nike

使用 Java,我设置了 <value> 的值xml 文件中的属性为

String val = "~!@#$%^&*()_+-={}|[]\\:\";'<>?,./;"

当我尝试使用带有输入的 api

org.w3c.dom.Node.setNodeValue(val)

看一下 xml,我发现生成的 xml 中的 value 属性看起来是这样的 -

<Value>~!@#$%^&amp;*()_+-={}|[]\:";'&lt;>?,./</Value>

我试图弄清楚为什么这个第三方 API 仅编码 <& ,但不是> , '" .

最佳答案

这只是因为它不需要转义 >'"

引号只需要编码在使用相同类型引号打开的属性中(因此 foo="single'quote"bar='double"quote' 很好),并且结束尖括号也不需要编码,因为当您可能不关闭元素时它没有任何意义。

无论如何对它们进行编码都是完全有效的 - 但这样做也是有效的。

关于java - org.w3c.dom.Node.setNodeValue() 不编码某些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25519780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com