1

こんにちは、改めまして。最後の質問の後、XML 解析エラー (解決済み) の XML サンプルは、詳細を学ぶのに本当に役立ちました。私は別のレンガの壁に向かって走っています。

私の質問: 私がする必要があるのは、.xml ファイルを私の php ドキュメントと同じディレクトリに書き込むことです。したがって、スクリプトを実行すると、.xml ファイルが php ファイルがあるディレクトリに自動的に保存されます。これは可能ですか?

現在、openURI を使用してファイルを出力しようとしていますが、そのときに次のエラーが発生します (オランダ語からの翻訳):

おもしろいのは、php://output を使用すると、ブラウザにすべてが正しく表示されることです。

XML-Parse Error: no element found
Location: xml.php
Rownumber 1, column 1:

コード:

<?php
    //SELECTEER ALLES VAN DATABASE PROJECTEN
    $sql = "SELECT * FROM projecten ORDER BY id";
    $res = mysql_query($sql);

    //BEGIN XML
    $xml = new XMLWriter();
    $xml->openURI('file.xml');
    $xml->setIndentString ( '&#09;' );
    $xml->startDocument( '1.0', 'UTF-8', 'no' );
    $xml->setIndent(true);

    //FUNCTIE VOOR MAKKELIJKER INVOEREN
    function addNode( $xml, $NodeName, $Value ) {
    $xml->startElement( $NodeName );
    $xml->writeCData( $Value );
    $xml->endElement();      
    }

   //START HOOFD ELEMENT
   $xml->startElement('projecten');

    //WHILE LOOP DOOR DATABASE
    while ($row = mysql_fetch_assoc($res)) {

            //START PROJECT
            $xml->startElement('project');
            $xml->writeAttribute('id', $row['id']);

                addNode( $xml, "id", $row["id"] );
                addNode( $xml, "projectnaam", $row['projectnaam'] );
                addNode( $xml, "status", $row['status'] );
                addNode( $xml, "klantnaam", $row['klantnaam'] );
                addNode( $xml, "startdatum", $row['startdatum'] );
                addNode( $xml, "eindddatum", $row['einddatum'] );

            //EIND PROJECT
            $xml->endElement();
    }

    //EINDE HOOFD ELEMENT
    $xml->endElement();

    //EINDE DOCUMENT
    $xml->endDocument(); 
    header('Content-type: text/xml');
    $xml->flush();
?>

前もってありがとう、もう一度...

4

2 に答える 2