XML格式的PHP字符串在缩进时返回解析错误?

XML格式的PHP字符串在缩进时返回解析错误?,php,xml,parsing,Php,Xml,Parsing,我对以下原因感到好奇: 工作时不会出错: $contact_data = <<<STRING <contact> <Group_Tag name="Contact Information"> <field name="First Name">$contact_first_name</field> <field name="Last Name">$contact_last_name

我对以下原因感到好奇:

工作时不会出错:

$contact_data = <<<STRING
<contact>
    <Group_Tag name="Contact Information">
        <field name="First Name">$contact_first_name</field>
        <field name="Last Name">$contact_last_name</field>
        <field name="Email">$contact_email</field>
    </Group_Tag>
</contact>
STRING;
    $contact_data = <<<STRING
    <contact>
        <Group_Tag name="Contact Information">
            <field name="First Name">$contact_first_name</field>
            <field name="Last Name">$contact_last_name</field>
            <field name="Email">$contact_email</field>
        </Group_Tag>
    </contact>
    STRING;

如您所见,唯一的区别是第二种情况是缩进(4个空格),而第一种情况不是。我很好奇为什么…

您的字符串分隔符必须出现在第1列中,如下所示:

    $contact_data = <<<STRING
    <contact>
        <Group_Tag name="Contact Information">
            <field name="First Name">$contact_first_name</field>
            <field name="Last Name">$contact_last_name</field>
            <field name="Email">$contact_email</field>
        </Group_Tag>
    </contact>
STRING;

$contact\u data=基本遗传:终止符必须位于行的开头:

echo <<<EOL
foo
EOL; // ok, terminator in column 0


echo <<<EOL
    foo
    EOL; // bad, there's whitespace before the terminator
echo
echo <<<EOL
foo
EOL; // ok, terminator in column 0


echo <<<EOL
    foo
    EOL; // bad, there's whitespace before the terminator