sql >> データベース >  >> RDS >> Mysql

XML parserror:ドキュメント要素の後のジャンク

        /**
         *  Rewrite MySQL to MySQLi
         *  http://php.net/manual/en/migration55.deprecated.php
        **/
        $sql = "SELECT * FROM projecten ORDER BY id";
        $res = mysqli_query($sql);
    
        /**
         *  Adjusted startDoc to include
         *  Encoding and set Indent to tab
         *  instead of spacing.
        **/
        $xml = new XMLWriter();
        $xml->openURI("php://output");
        $Xml->setIndentString ( "	" );
        $Xml->startDocument( '1.0', 'UTF-8', 'no' );
        $xml->setIndent(true);
    
        /**
         *  Re-usable function to
         *  write a Start/End Element 
         *  to XMLWriter.
         *
         *  Uses CDdata for longer text strings
        **/
        function addNode( $xml, $NodeName, $Value ) {
            $xml->startElement( $NodeName );
            $xml->writeCData( $Value );
            $xml->endElement();      
        }
    
        /**
         *  Start a Root Element
        **/
       $xml->startElement('projects');
    
        /**
         *  LoopThrough each Database row.
        **/
       while ($row = mysqli_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['eindddatum'] );
    
            //End 'Project'.
            $xml->endElement();
        }
    
        //End Root Element.
        $xml->endElement();
    
        //EINDE DOCUMENT
        $xml->endDocument(); 
    
        header('Content-type: text/xml');
        $xml->flush();
    
    • MySQLに変更 MySQLiへ !できる限り今すぐ変更を開始することが重要です。 =)
    • 関数を使用してください! $xml->startElementと記述します &$xml->endElement 繰り返し、addNode()に配置します 方法。
    • 'ルートを追加しました '各データベース行も追加するノード。
    • CDataを使用します <![CDATA[text for inclusion within CData tags]]> )、難しい可能性のあるキャラクターを安全に逃れるのに役立ちます


    1. フラスコでpymysqlを使用中にエラーが発生しました

    2. OracleORA-00979-GROUPBY式ではありません

    3. Javaのランダムな数字

    4. 中小企業がクラウドコンピューティングからどのように利益を得ることができるか