我最近看到一个包含 <?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/