我正在收集表单信息,我必须将该数据发布到XML格式的URL。所以我将XML放入post字符串并使用cURL来执行帖子。我如何将正确的表单字段回显到XML中?在ProjectId中,我把我认为的代码放在了代码中,但是Notepad ++并没有将它显示为有效的PHP,所以我认为这是错误的。谢谢!
$post_string = '
<?xml version="1.0" encoding="UTF-8" ?>
<Ping vid="" sid="">
<ProjectInfo>
<ProjectId><? echo $projectid; ?></ProjectId>
<SubProject></SubProject>
</ProjectInfo>
</Ping>
';
我正在使用此链接来弄明白:http://www.codediesel.com/php/posting-xml-from-php/
答案 0 :(得分:8)
只需连接字符串
$post_string = '
<?xml version="1.0" encoding="UTF-8" ?>
<Ping vid="" sid="">
<ProjectInfo>
<ProjectId>' . $projectid . '</ProjectId>
<SubProject></SubProject>
</ProjectInfo>
</Ping>
';
答案 1 :(得分:2)
$post_string = '
<?xml version="1.0" encoding="UTF-8" ?>
<Ping vid="" sid="">
<ProjectInfo>
<ProjectId><![CDATA['. $projectid.']]></ProjectId>
<SubProject></SubProject>
</ProjectInfo>
</Ping>
';
在某些情况下,您的变量包含“&amp;”等字符和“&lt;”在需要变量之前和之后添加CDATA标记,因为它们会破坏XML。在你的情况下,$ projectid似乎是一个id(int),但也许你会在你的脚本中使用包含这些字符的更多变量,在这种情况下要注意CDATA标签的重要性。
答案 2 :(得分:2)
只是另一种用法。尝试使用这种样式将格式良好的xml字符串提供给php变量。
$post_string =<<<XML
<Ping vid="" sid="">
<ProjectInfo>
<ProjectId>$projectid</ProjectId>
<SubProject></SubProject>
</ProjectInfo>
</Ping>
XML;
答案 3 :(得分:1)
无需再次打开<?php ?>
标记,只需连接字符串值。
$post_string = '
<?xml version="1.0" encoding="UTF-8" ?>
<Ping vid="" sid="">
<ProjectInfo>
<ProjectId>'. $projectid.'</ProjectId>
<SubProject></SubProject>
</ProjectInfo>
</Ping>
';