如何在 KML 中添加与号?

Aar*_*der 0 kml

在 KML 中包含与号的正确格式是什么?我在名称标签中使用它们。如果我包含一个常规的 '&' 那么它是无效的。

我需要正确编码哪些其他字符?

我正在使用这种格式:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个 PHP 解决方案。我正在用 PHP 创建 KML。

Jas*_*nM1 5

KML 是一个 XML 文件,因此只需按照 XML 规则对特殊字符进行编码。在 XML 中,您可以使用代表相关特殊字符的“预定义实体”或使用CDATA部分对“&”和其他特殊字符进行编码。

1. 预定义实体

XML 规范定义了五个代表特殊字符的“预定义实体”,并要求所有 XML 处理器都遵守它们。使用这些特殊的预定义实体名称,这些名称在评估元素内容时会替换为它所代表的实际字符。

name  | characters
----- | ------
<     | &lt;
>     | &gt;
&     | &amp;
"     | &quot;
'     | &apos;
Run Code Online (Sandbox Code Playgroud)

例子:

<description>
  &lt;a href="http://server.com/link"&gt;A &amp; B&lt;/a&gt;
</description>
Run Code Online (Sandbox Code Playgroud)

2. 数据中心

另一种在 XML 元素中转义标记的机制是 CDATA。CDATA 部分是元素内容的一部分,标记为解析器仅将解释为字符数据,而不是标记。

例子:

<description>
  <![CDATA[
    <a href="http://server.com/link">A & B</a>
  ]]>
</description>
Run Code Online (Sandbox Code Playgroud)