xml - 在 XML 字符串中看到 <?var type ="string"?>,但这是什么意思?

标签 xml

我最近看到一个包含 <?var type="string" ?> 的 XML 字符串.我想知道是否有人知道这意味着什么?我想这与 PHP 有关。这是上下文片段。

<?xml version="1.0" encoding="UTF-8"?>
<node>
   <?var type="string" ?>
   <somenode>Value</somenode>
</node>

我似乎无法在谷歌上搜索 <?var所以也许你们可以帮助我。

最佳答案

这是一个 XML processing instruction , 与 PHP 无关。 (无论如何它都不是合法的 PHP 语法。)您在文档开头看到的 XML 声明是一种特殊的 PI。

不过,除此之外我不能说太多,因为老实说,我从来没有见过将 XML PI 用作 XML PI 用于任何野外的东西。 <? ?>定界符通常被开发人员识别为 PHP 定界符(带有一个短的开始定界符)。

实际上,正如评论中所讨论的,完整的 PHP 定界符 <?php ?>可以被认为是一种处理指令,尽管除了 XHTML/XML 文档之外,它们还用在许多其他地方。甚至可以说 PHP 设计通过处理指令与 XHTML 兼容。

事实上,下面的 XHTML 标记,加上一段 PHP,实际上是 validates !

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title></title>
  </head>
  <body>
    <p><?php echo 'Hello world!'; ?></p>
  </body>
</html>

但是,它不验证短开始标记,因为 XML PI 必须以 <? 开头后跟至少一个名称字符。请参阅 PI 语法规范的第一个链接。

关于xml - 在 XML 字符串中看到 <?var type ="string"?>,但这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923731/

相关文章:

C# 尝试获取嵌套节点的 XML 内部文本

xml - 在使用XPath的XSLT中

python - 解析根元素内元素之间的 XML 文本

c# - 使用 XPath、C# 解析 XML 文档

android - 如何将两种不同的样式应用于android中的一个元素?

javascript - 在 Javascript 中获取复杂命名空间下的数据

java - 使用 xsl 转换为 PDF 时出错

android - 无法访问 PercentRelativeLayout

php - 在不给服务器施加压力的情况下获取 MySQL 数据

xml - 请求和响应之间使用不同的 SOAP 命名空间/版本是否合法?