用于”’ HTML中的实体

我正在修改由另一方编写的一些X HTML文件.作为这项工作的一部分,我正在通过 LinqXML进行大量编辑.

我刚刚注意到,这些文件中的文本节点中的一些原始源XHTML文件包含" HTML entity.例如:

<p>Greeting: &quot;Hello,World!&quot;</p>

而当通过XElement.ToString()恢复XHTML文本时,& quot;实体正在被纯双引号替代:

<p>Greeting: "Hello,World!"</p>

问题:任何人都可以告诉我,原作者有什么动机可以使用&实体而不是纯双引号?这些实体是否服务于我不完全理解的目的?或者,我怀疑他们真的没有必要吗?

我明白了在某些上下文中是必需的,例如当需要在HTML属性中放置双引号时.例如:

<a href="/images/hello_world.jpg" alt="Greeting: &quot;Hello,World!&quot;">
  Greeting</a>

解决方法

知道使用“和”的动机是不可能的,也是不必要的.在元素内容中,但可能的动机包括:对HTML规则的误解;使用生成这样的代码的软件(可能是因为它的作者认为它是“更安全的”);并误解“的意思:许多人似乎认为它产生”智慧报价“(他们显然从未看过实际的结果).

无论如何,从来没有必要使用& quot;在HTML(XHTML或任何其他HTML版本)中的元素内容.任何HTML规范中都没有任何特定的含义可以给普通字符“there”.

正如问题所述,它在属性值中有其作用,但即使在它们中,如果该值包含双引号,也就是简单地使用单引号作为分隔符. alt =’问候语:“你好,世界!”“,或者如果您被允许更正自然语言文本中的错误,请使用适当的引号,例如alt =“问候:”你好,世界!“”

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些