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

ちょうど別の使用スタイル。このスタイルを試して、適切にフォーマットされたxml文字列をphp変数に指定してください。

$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>


 ';

場合によっては、変数に「&」や「<」などの文字が含まれている場合、XMLを壊すため、変数の前後にCDATAタグを追加する必要があります。あなたの場合、$ 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 に答える