因此,我正在编写一些XML生成代码,发现以下属性值正在拧紧XML格式:

"Jim/Bob"

因此,我研究了用作逃生序列的XML实体,我看到的每个列表都不包含一个前向斜杠。我在这里错过了明显的东西吗?似乎您想逃脱的那种事情...

有帮助吗?

解决方案

正向斜线是有效的,不需要进一步编码。

唯一的保留字符是:

>
<
&
%

对于更多的XML实体 - http://en.wikipedia.org/wiki/list_of_xml_and_html_html_character_entity_references

其他提示

我知道事实证明这不是问题,但是我认为,除了鲍勃斯的答案外,还要提及 分数斜线 HTML实体 &frasl; 看起来 就像前锋斜线. 。以防万一任何人到达此页面 想要一个代表前向斜线的事物的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本身在连接字符串中产生了带有斜线的钥匙,但是当我们尝试使用它们时,随后会静静地破裂。与他们逃脱 “&#47;” 使它起作用

"Jim&#47;Bob"

我看不出为什么“吉姆/鲍勃”的价值将需要逃脱或根本引起XML任何问题。

如XML架构中所定义的那样,您可能具有受约束的属性。

我不知道您的XML格式是什么意思。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top