1

SELECTクエリの実行後にMYSQL結果セットから直接XMLを作成する組み込み関数がある場合はどうすればよいですか?

4

3 に答える 3

3

私はこれを書いたばかりで、id searchを考えて、他の誰かが書いたかどうかを確認しました。受け入れられた回答のチュートリアルよりも単純に見えます。私の$resultsは$result= mysql_query($ query、$ link);から来ています。

$xmlDom = new DOMDocument();
$xmlDom->appendChild($xmlDom->createElement('results'));
$xmlRoot = $xmlDom->documentElement;

while ( $row = mysql_fetch_row($result) ) 
    {
      $xmlRowElementNode = $xmlDom->createElement('row');

      $i=0;
      for($i=0;$i<mysql_num_fields($result);$i++)
      {
          $xmlRowElement = $xmlDom->createElement(mysql_field_name($result,$i));
          $xmlText = $xmlDom->createTextNode($row[$i]);
            $xmlRowElement->appendChild($xmlText);

            $xmlRowElementNode->appendChild($xmlRowElement);
      }

      $xmlRoot->appendChild($xmlRowElementNode);
   }


    header('Content-type:  text/xml');
    echo $xmlDom->saveXML();

これにより、XMLが次の形式で発行されます。

<results>
    <row1>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row1>
    <row2>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row2>
    <row3...>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row3...>
</results>

SELECTクエリの場合。

于 2013-06-24T22:39:14.587 に答える
2

SELECTクエリの実行後にMYSQL結果セットから直接XMLを作成する組み込み関数はありません。

このためのコードを書く必要があります

いくつかの素晴らしいチュートリアルはこれです。

http://www.codediesel.com/php/converting-mysql-queries-to-xml/

http://www.mightywebdeveloper.com/coding/mysql-to-xml-php/

于 2012-09-25T05:37:33.937 に答える
1

通常、MySQLの結果は配列またはオブジェクトとして返され、XMLまたは別の形式に変換できます。ここで説明されているSimpleXMLを使用できます:配列をSimpleXMLに変換する方法

于 2012-09-25T05:32:22.833 に答える