【问题标题】:Echoing PHP Variable inside XML在 XML 中回显 PHP 变量
【发布时间】:2012-09-19 17:17:36
【问题描述】:

我正在收集表单信息,我必须将该数据发布到 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/

【问题讨论】:

    标签: php xml curl


    【解决方案1】:

    只需连接字符串

    $post_string = '
    
    <?xml version="1.0" encoding="UTF-8" ?>
    
    <Ping vid="" sid="">                   
       <ProjectInfo>
          <ProjectId>' . $projectid . '</ProjectId>
          <SubProject></SubProject>
       </ProjectInfo>
     </Ping>
    
    
     ';
    

    【讨论】:

    • 谢谢!如果我想在 vid=""... 中添加一个变量,我可以只使用 vid="$vid",还是也将它连接起来?
    • 您也将其连接起来。单引号字符串不会解析 PHP 变量,因此美元符号将是文字美元符号。如果您想将变量保留在引号中而不连接,这称为插值,您需要使用双引号 - 但是您需要转义 XML 中的所有双引号,这需要更多的工作。
    【解决方案2】:

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

    $post_string =<<<XML
    <Ping vid="" sid="">                   
    <ProjectInfo>
      <ProjectId>$projectid</ProjectId>
      <SubProject></SubProject>
    </ProjectInfo>
    </Ping>
    XML;
    

    【讨论】:

      【解决方案3】:
      $post_string = '
      
      <?xml version="1.0" encoding="UTF-8" ?>
      
      <Ping vid="" sid="">                   
         <ProjectInfo>
            <ProjectId><![CDATA['. $projectid.']]></ProjectId>
            <SubProject></SubProject>
         </ProjectInfo>
       </Ping>
      
      
       ';
      

      在某些情况下,如果您的变量包含“&”和“

      【讨论】:

      • 感谢您的提示!现在,所有传递的变量都只是 int 或普通字符,但我将使用 CDATA 只是为了养成它的习惯。特别是如果它不会受伤。
      【解决方案4】:

      无需再次打开&lt;?php ?&gt;标签,只需连接字符串值即可。

      $post_string = '
      
      <?xml version="1.0" encoding="UTF-8" ?>
      
      <Ping vid="" sid="">                   
         <ProjectInfo>
            <ProjectId>'. $projectid.'</ProjectId>
            <SubProject></SubProject>
         </ProjectInfo>
       </Ping>
      
      
       ';
      

      【讨论】:

        猜你喜欢
        • 2017-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-06
        相关资源
        最近更新 更多