1

我正在收集表单信息,我必须将该数据发布到 XML 格式的 URL。所以我将 XML 放入一个帖子字符串并使用 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/

4

4 回答 4

8

只需连接字符串

$post_string = '

<?xml version="1.0" encoding="UTF-8" ?>

<Ping vid="" sid="">                   
   <ProjectInfo>
      <ProjectId>' . $projectid . '</ProjectId>
      <SubProject></SubProject>
   </ProjectInfo>
 </Ping>


 ';
于 2012-09-19T17:19:23.213 回答
3

只是另一种使用方式。尝试使用这种样式为 php 变量提供格式良好的 xml 字符串。

$post_string =<<<XML
<Ping vid="" sid="">                   
<ProjectInfo>
  <ProjectId>$projectid</ProjectId>
  <SubProject></SubProject>
</ProjectInfo>
</Ping>
XML;
于 2014-10-23T11:55:04.480 回答
2
$post_string = '

<?xml version="1.0" encoding="UTF-8" ?>

<Ping vid="" sid="">                   
   <ProjectInfo>
      <ProjectId><![CDATA['. $projectid.']]></ProjectId>
      <SubProject></SubProject>
   </ProjectInfo>
 </Ping>


 ';

在某些情况下,如果您的变量包含“&”和“<”等字符,则需要在变量前后添加 CDATA 标记,因为它们会破坏 XML。在您的情况下,$projectid 似乎是一个 id (int),但也许您将在包含这些字符的脚本中使用更多变量,请注意在这种情况下 CDATA 标记的重要性。

于 2012-09-19T17:33:33.610 回答
1

无需<?php ?>再次打开标签,只需连接字符串值。

$post_string = '

<?xml version="1.0" encoding="UTF-8" ?>

<Ping vid="" sid="">                   
   <ProjectInfo>
      <ProjectId>'. $projectid.'</ProjectId>
      <SubProject></SubProject>
   </ProjectInfo>
 </Ping>


 ';
于 2012-09-19T17:19:21.923 回答