【问题标题】:Quotes in XML. Single or double?XML 中的引号。单人还是双人?
【发布时间】:2011-07-23 12:50:12
【问题描述】:

我听说使用单引号将 XML 属性值括起来是一种“不好的风格”。这是正确的吗?

我应该一直写吗:

<element attr="value">

或者可以这样写:

<element attr='value'>

或者我使用哪种风格无关紧要?

【问题讨论】:

标签: xml formatting


【解决方案1】:

两者都是合法的。选择一个并坚持下去。没关系。

来自spec

AttValue       ::=      '"' ([^<&"] | Reference)* '"'
                     |  "'" ([^<&'] | Reference)* "'"

表明两者都是有效的,就像在一个元素中混合两种样式一样,每个属性(尽管我建议在任何单个文档/文档集内保持一致)。

【讨论】:

  • 旁注:双引号似乎更常见,但单引号可以嵌入到 JSON 中而无需转义字符(对于在 JSON 中传输一些 XML 的不可避免的传输服务:O) .当您希望能够从 JSON 有效负载中手动提取 XML 时,在临时测试期间非常方便。
【解决方案2】:

双引号更常见,任何特定社区为了一致性而采用房屋样式是完全可以接受的,但笼统地声明一种方式更好是没有道理的。

提出这样的建议也很危险,因为它鼓励了“绝望的 perl 黑客”,他们试图使用正则表达式而不是使用真正的 XML 解析器来解析 XML,并且总是只能成功处理 XML 合法允许的子集。

如果我从 Java 应用程序手动生成 XML,为了方便起见,我倾向于使用单引号 - 尽管我越来越倾向于认为手动生成 XML 几乎与手动解析它一样危险。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2012-08-14
    • 2012-11-06
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多