Alp*_*nts 41 xml entity escaping sequence
所以我正在编写一些XML生成代码,并发现以下属性值搞砸了XML格式:
"Jim/Bob"
Run Code Online (Sandbox Code Playgroud)
所以我查看了用作转义序列的XML实体,我看到的每个列表都没有包含正斜杠的列表.我错过了一些明显的东西吗?看起来像你想要逃脱的那种事情......
Ray*_*sen 50
正斜杠按原样有效,不需要进一步编码.
唯一保留的字符是:
>
<
&
%
Run Code Online (Sandbox Code Playgroud)
对于更多XML实体 - http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
小智 6
我不认为这个帖子中的注释是完全正确的,因为如果你使用模式(XSD),你可以定义名称为Jim,Bob和Jim/Bob的元素没有任何问题.但是当你想要定义元素和实体时:
<names>
<Jim>Carrey</Jim>
<Bob>Jones</Bob>
<Jim/Bob>Six figured Hillbilly</Jim/Bob>
</names>
Run Code Online (Sandbox Code Playgroud)
问题很明显.
它没有预定义的实体引用,但您可以使用字符引用:"/".
但是,您不需要转义/包含在XML中.您可能必须将其包含在其他内容中,例如URI路径部分.但是你必须首先逃避它的格式; 获取URI的应用程序无法知道您是否在XML中对其进行了编码.
仅供参考,尽管斜杠是有效的XML,但请注意在下游如何使用它。我们将其用于连接到Azure Service Bus队列。Azure本身在连接字符串中生成带有斜杠的键,但是当我们尝试使用它们时,它会默默地断开。“/”使它们逃脱使其正常工作
"Jim/Bob"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73724 次 |
| 最近记录: |