Я пытаюсь включить переменную PHP внутри строки XML. Кажется, он не работает, может кто-то увидеть, что с ним не так.
// 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));
Это будет работать!
<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>
В некоторых случаях, когда ваша переменная содержит символы типа "&" и "<", добавляя теги CDATA до и после переменной, потому что они ломают XML. В вашем случае $ projectid, по-видимому, является id (int), но, возможно, вы захотите использовать в своем скрипте более переменную, содержащую эти символы, в таких случаях следует учитывать важность тегов CDATA. Пример:
<field name="First Name"><![CDATA['. $firstname.']]></field>
$response->getSomething($arguments)
{$response->getSomething($arguments)}
Попробуй это:
$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;
$firstname
,$lastname
и т. Д.