您好我目前正在使用Microsoft Webmatrix,每当我执行XML声明时,我的编译器都会将其与标记混淆,导致我的所有其余PHP代码全部为黑色而不是颜色编码,也是我的所有HTML米色,好像是文字。这成为一个大问题,因为我的网页变得非常笨重,而且它的可读性是绝对的噩梦。
xml声明的示例:
<?php
$ThisvariableisNOTblack = "good";
$xml = <<<XML
*xml content*
XML;
$thisvariableisnowblack = "everything is now black below XML";
?>
是否有这种XML声明风格的替代方案?
答案 0 :(得分:0)
问题可能是HEREDOC语法中的结束XML;
。它必须在行的开头,不允许缩进。
如果不是在开始时,HEREDOC元素不会结束。如果WebMatrix识别XML,则后面的内容在结束标记之后是无效内容。另外,HEREDOC允许变量(如双引号中的字符串)。
在大多数情况下,NOWDOC是一个更好的解决方案:
<?php
$xml = <<<'XML'
<some>
<xml/>
</some>
XML;
此外,PHP字符串可以跨越多行。您可以为XML使用单引号字符串。当然,在这种情况下,您将不得不在字符串中转义单引号和反斜杠。
$xml =
'<some>
<xml>with a single quote \' and a backslash \\</xml>
</some>';