我正在尝试在XML字符串中包含一个PHP变量。它似乎没有用,有人可以看出它有什么问题。
// Construct contact data in XML format
$data = <<<STRING
<contact>
<Group_Tag name="Contact Information">
<field name="First Name">$firstname</field>
<field name="Last Name">$lastname</field>
<field name="Email">$email</field>
</Group_Tag>
</contact>
<Group_Tag name="Sequences and Tags">
<field name="Contact Tags">Test</field>
<field name="Sequences">*/*3*/*8*/*</field>
</Group_Tag>
</contact>
STRING;
$data = urlencode(urlencode($data));
答案 0 :(得分:1)
这会起作用!!
<contact>
<Group_Tag name="Contact Information">
<field name="First Name">'. $firstname.'</field>
<field name="Last Name">'. $lastname.'</field>
<field name="Email">'. $email.'</field>
</Group_Tag>
</contact>
在某些情况下,您的变量包含&#34;&amp;&#34;等字符。和&#34;&lt;&#34;在需要变量之前和之后添加CDATA标记,因为它们会破坏XML。在你的情况下,$ projectid似乎是一个id(int),但也许你会在你的脚本中使用包含这些字符的更多变量,在这种情况下要注意CDATA标签的重要性。 例如:
<field name="First Name"><![CDATA['. $firstname.']]></field>
答案 1 :(得分:-1)
试试这个:
$data = "
<contact>
<Group_Tag name=\"Contact Information\">
<field name=\"First Name\">$firstname</field>
<field name=\"Last Name\">$lastname</field>
<field name=\"Email\">$email</field>
</Group_Tag>
</contact>
<Group_Tag name=\"Sequences and Tags\">
<field name=\"Contact Tags\">Test</field>
<field name=\"Sequences\">*/*3*/*8*/*</field>
</Group_Tag>
</contact>
";
echo $data;