如何在XML属性值中转义双引号?


Answers:


223

您可以使用 "


3
在命名变量,函数,属性等时,显式和更长的命名约定比首字母缩略词更好或更短。我会随时简洁明了-这是我主动提出的意见。
Daniel Sokolowski

1
我同意丹尼尔。简洁可能会为您节省1秒钟的打字时间,但随后人们不得不花10分钟时间来弄清楚正在发生的事情。
NL3294

@Daniel Sokolowski:你们两个指的是什么?是否缺少一些上下文(例如,已删除的评论)?
彼得·莫滕森

必须是@PeterMortensen,我现在忘记了,那已经是大约7年了:)
Daniel Sokolowski

54

根据XML规范

为了允许属性值同时包含单引号和双引号,可以将单引号或单引号字符(')表示为“’”,而将双引号字符(“)”表示为“””)。


17

双引号字符("可以被作为逃脱",但这里的故事的其余部分...

在这种情况下,必须对双引号字符进行转义:

  • 在用双引号分隔的XML属性中:

    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>

在大多数情况下,双引号字符无需转义:

  • 在XML文本内容中:

    <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
  • 在用单引号(')分隔的XML属性中:

    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>

    同样,'如果(")用于属性值定界符,则()不需要转义:

    <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>

也可以看看


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.