题
因此,我正在编写一些XML生成代码,发现以下属性值正在拧紧XML格式:
"Jim/Bob"
因此,我研究了用作逃生序列的XML实体,我看到的每个列表都不包含一个前向斜杠。我在这里错过了明显的东西吗?似乎您想逃脱的那种事情...
解决方案
正向斜线是有效的,不需要进一步编码。
唯一的保留字符是:
>
<
&
%
对于更多的XML实体 - http://en.wikipedia.org/wiki/list_of_xml_and_html_html_character_entity_references
其他提示
我知道事实证明这不是问题,但是我认为,除了鲍勃斯的答案外,还要提及 分数斜线 HTML实体 ⁄
看起来 就像前锋斜线. 。以防万一任何人到达此页面 做 想要一个代表前向斜线的事物的HTML实体。
没有预定义的实体参考,但是您可以使用字符参考:“/”。
但是,您不需要逃脱 /包含在XML中。您可能必须将其包含在其他内容中,例如URI路径部分。但是然后您必须先以这种格式逃脱它。拾取URI的应用程序将无法知道您是否在XML中编码它。
我认为此线程中的评论不是完全正确的,因为如果您使用架构(XSD),则可以用名称Jim,Bob和Jim/Bob定义元素,而没有任何问题。但是,当您想定义元素和实体时:
<names>
<Jim>Carrey</Jim>
<Bob>Jones</Bob>
<Jim/Bob>Six figured Hillbilly</Jim/Bob>
</names>
问题很明显。
仅供参考,尽管斜线是有效的XML,但请注意如何在下游使用。我们将其用于连接到Azure服务总线队列。 Azure本身在连接字符串中产生了带有斜线的钥匙,但是当我们尝试使用它们时,随后会静静地破裂。与他们逃脱 “/”
使它起作用
"Jim/Bob"
我看不出为什么“吉姆/鲍勃”的价值将需要逃脱或根本引起XML任何问题。
如XML架构中所定义的那样,您可能具有受约束的属性。
我不知道您的XML格式是什么意思。