Koz*_*lov 11 xml soap escaping
什么时候我们应该用< > & " 'XML 替换<等字符等.
我的理解是,只是为了确保如果XML的内容部分具有> <解析器将不会处理标记的开始或结束.
另外,如果我有一个XML:
<hello>mor>ning<hello>
Run Code Online (Sandbox Code Playgroud)
应该替换为:
<hello>mor>ning<hello><hello>mor>ning<hello><hello>mor>ning<hello>我不明白为什么需要更换.什么时候需要它,究竟应该更换什么(标签或文字)?
<,>,&,"并且'都在XML特殊含义(如"实体的开始"或"属性值分隔符").
为了使这些字符显示为数据(而不是它们的特殊含义),它们可以由实体表示(<对于<等等).
有时这些特殊含义是上下文敏感的(例如,"并不意味着"属性定界符"在标记之外),并且有些地方可以将它们作为数据显示为原始.而不是担心这些异常,最简单的方法就是始终代表它们作为实体,如果你想避免它们的特殊含义.然后唯一的问题是显式CDATA部分,其中特殊含义不成立(并且&不会启动实体).
应该替换为任何一个
它不应该被表示为任何一个.实体必须以分号结尾.
你应该如何表示它取决于你的数据示例位和标记.例如,您没有说过,<hello>应该是hello元素的数据还是开始标记.
您必须编码在XML中具有特殊含义但不应由解析器解释的所有字符.
假设您的XML是
<hello>mor>ning</hello>
Run Code Online (Sandbox Code Playgroud)
你会把它编码为
<hello>mor>ning</hello>
Run Code Online (Sandbox Code Playgroud)
或使用CDATA [维基百科]部分:
<hello><![CDATA[mor>ning]]></hello>
Run Code Online (Sandbox Code Playgroud)