我正在编写一些生成XML代码,发现以下属性值破坏了XML格式:
"Jim/Bob"
我研究了一下XML实体用作转义序列的内容,但每个列表中都没有包括正斜杠。我是否遗漏了一些明显的东西?看起来像是你希望转义的事情...
我正在编写一些生成XML代码,发现以下属性值破坏了XML格式:
"Jim/Bob"
我研究了一下XML实体用作转义序列的内容,但每个列表中都没有包括正斜杠。我是否遗漏了一些明显的东西?看起来像是你希望转义的事情...
正斜杠本身是有效的,不需要进一步编码。
仅有的保留字符为:
>
<
&
%
如果需要更多的XML实体,请参考http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
formatted="false"
对我有用。 - Justin Case我知道最终问题并不是这个,但是我认为提到一下可能有帮助。除了bobince的答案外,Fraction Slash HTML实体⁄
看起来就像一个正斜杠。以防有人真的需要表示正斜杠的HTML实体。
⁄
实体,这也是有效的HTML,但在HTML中,您还可以使用更容易记住的⁄
HTML实体。 - sinisterstuf我认为这个帖子中的评论并不完全正确,因为如果您使用模式(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中包含/时不需要转义。您可能需要在其他内容中包含它,例如URI路径部分。但是,您首先必须为该格式转义它;拾取URI的应用程序将无法知道您是否在XML中对其进行了编码。
我不明白为什么“Jim/Bob”这个值需要转义,或者会对XML造成任何问题。
你可能有一个被XML Schema定义的受限制的属性。
我不知道你所说的XML格式化是什么意思。