0
<?php

$sql    = "SELECT xxxx FROM xxxx";
$result = mysql_query($sql, $con);
if ($result) {
    while ($row = mysql_fetch_array($result)) {
        $jobtitle = $row["xxxx"];
        echo $jobtitle . "<br/>"; //output should be in xml format as given below
    }

}

上記のコード例では、を使用してジョブタイトルを単純なテキストとして出力していますecho

しかし、XML 形式での出力が必要です。つまり、次のような出力が得られるはずです。

<all>
   <jobtitle>job1</jobtitle>
   <jobtitle>job2</jobtitle>
</all>

現在、次のような出力が得られます。

job1
job2
4

4 に答える 4

0

SimpleXMLElement非常に単純な XML 出力の場合は、 Docsを使用して簡単に実行できます。

$all = new SimpleXMLElement('<all />');

$sql    = "SELECT xxxx FROM xxxx";
$result = mysql_query($sql, $con);
while ($result && $row = mysql_fetch_array($result)) {
    $all->addChild('jobtitle', $row["xxxx"]);
}

echo $all->asXML();

出力例 (美化):

<?xml version="1.0"?>
<all>
    <jobtitle>job1</jobtitle>
    <jobtitle>job2</jobtitle>
</all>

また、XML の作成、操作、および出力方法を提供するためのより多くのリソースがある PHP マニュアルを参照することをお勧めします:基本的な SimpleXML の使用法

于 2012-12-30T18:32:57.400 に答える
0

必要な xml タグは自動的に挿入されません。ジョブの前後にエコーする必要があります。次のようにします。

    echo header('Content-Type: application/xml');
    $sql = "select jobtitle from jobslist";
    $result = mysql_query($sql,$con);
     if($result)
     {
       echo "<all>\n";
       while($row=mysql_fetch_array($result))
       {
         $jobtitle = $row["jobtitle"];
     echo "<jobtitle>$jobtitle</jobtitle>\n"; //output should be in xml format as given below
       }
       echo "</all>\n";
     }

具体的には、$jobtitle がエコーされた行を変更する必要があります (<all> と </all> の開始/終了に加えて)。

echo "<jobtitle>$jobtitle</jobtitle>\n";
于 2012-12-29T10:15:07.700 に答える
0

xml タグを追加してデータベースの結果をラップし、xml の適切なヘッダーも送信する必要があります。出力の解析中にxmlエラーを心配する必要がないようにも追加しました

    if($result){
        header ("Content-Type:text/xml"); 
        $xmlstring='<?xml version="1.0"?>\n';
        $xmlstring='<all>\n';
        while($row=mysql_fetch_array($result)){
              $xmlstring.='<jobtitle><![CDATA['. $row["jobtitle"].']]></jobtitle>\n';

          }
       $xmlstring.='</all>';

       echo  $xmlstring;
       }
于 2012-12-29T10:16:14.813 に答える
0

XML問題は、タグを出力に追加していないという単純な事実のようです。期待どおりに機能させるための簡単なアプローチは次のとおりです。

<?php header('Content-Type: application/xml'); ?>
<?php
    $sql = "select jobtitle from jobslist";
    $result = mysql_query($sql,$con);
    if($result) {
        echo '<?xml version="1.0"?>', "\n";
        echo '<all>', "\n";
        while( $row = mysql_fetch_array($result) ) {
            echo '    <jobtitle>' , $row["jobtitle"] , '</jobtitle>' , "\n";
        }
        echo '</all>', "\n";
    }
?>

また、これは私が Codepad.orgで行ったテストで、変更が何をするかを示しています。

于 2012-12-29T10:17:08.607 に答える