使用Java,我将xml文件中的<value>
属性的值设置为
String val = "~!@#$%^&*()_+-={}|[]\\:\";'<>?,./;"
当我尝试将api用于输入
时 org.w3c.dom.Node.setNodeValue(val)
并查看xml,我看到生成的xml中的value属性看起来是这样的 -
<Value>~!@#$%^&*()_+-={}|[]\:";'<>?,./</Value>
我试图弄清楚为什么第三方API仅编码<
和&
,而不是>
,'
或"
。
答案 0 :(得分:1)
这只是因为它不需要来逃避>
,'
或"
。
引号只需要在使用相同类型的引号打开的属性中进行编码(因此foo="single'quote"
或bar='double"quote'
很好)并且结束角括号不需要要编码,因为当你不可能关闭元素时它没有任何意义。
无论如何对它进行编码完全有效 - 但不这样做也是有效的。