gpt4 book ai didi

xml - 我需要替换 XML 正文中的双引号/单引号吗?

转载 作者:数据小太阳 更新时间:2023-10-29 01:43:04 24 4
gpt4 key购买 nike

如果关闭,请在此处更正我的术语:

XML 的 5 个字符替换是:

  • & ( & )
  • >< ( < )
  • > ( > )
  • ” ( ")
  • '; ( ' )

是否所有这些替换都需要在元素文本中发生?还是只有属性文字? (术语更正?)

例如这是有效的 XML 吗?

<myelement>x && y</myelement>
<myelement>And I quote, "no"</myelement>

>< 在此上下文中似乎很明显可以替换,但我不清楚替换规则是否对整个 XML 文档是全局的,或者如果它们以不同方式应用于文档的不同部分(例如,cdata 部分应用不同的规则)。

假设:这是无效的 XML:

<myelement field="no & allowed here"/>
<myelement field="no <> allowed here"/>

引号是属性的明显分隔符,<>是元素文本的明显分隔符。

最佳答案

在元素内容中只需要转义&即可和 < ;你永远不需要转义单引号或双引号,你需要转义 >仅当它作为序列的一部分出现时 ]]> (很多人无条件更换,因为这样更简单)。

在属性内容中只需要转义&即可和 <或者'" , 取决于哪个被用作属性定界符。

& 开头的实体在注释或 CDATA 部分或元素或属性名称中无法识别,因此在这些上下文中不得转义特殊字符。

关于xml - 我需要替换 XML 正文中的双引号/单引号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com