PHP は XML を解析し、バージョン 5.2 環境ではエラーを報告しますが、バージョン 5.3 では正常です。
if (isset($_POST['xmldata'])) {
$string="
$ doc=$xml = new DOMDocument();
$xml->loadXML($string);
...
フォームから XML ファイルを送信すると、ページでエラーが報告されるのはなぜですか?
ページ プロンプト情報:
警告: DOMDocument::loadXML() [domdocument.loadxml]: AttValue: " または ' エンティティ、行: /usr/local/apache2/htdocs/dbmanage/xmlfile で期待されます。 php 126 行目
警告: DOMDocument::loadXML() [domdocument.loadxml]: エンティティの属性構成エラー、行: /usr/local/apache2/htdocs/dbmanage/xmlfile.php 行 2 126
警告: DOMDocument::loadXML() [domdocument.loadxml]: エンティティに行 2 を追加する開始タグの末尾が見つかりませんでした、/usr/local/apache2/htdocs/dbmanage/ の行: 2 xmlfile.php 126 行目
警告: DOMDocument::loadXML() [domdocument.loadxml]: AttValue: " または ' エンティティで予期される、行: /usr/local/apache2/htdocs/dbmanage/ の 3 行目xmlfile.php 126 行目
警告: DOMDocument::loadXML() [domdocument.loadxml]: エンティティの属性構成エラー、行: /usr/local/apache2/htdocs/dbmanage/xmlfile.php の 3 行目126 行目
XML 形式は次のとおりです:
PHP バージョン:
#php -v
PHP 5.2.12 (cli) (ビルド済み) :2012 04 25 21:12:31)
-----解決策---------
var_dump($string); // この文を追加して結果を投稿します。
$xml->loadXML($string);
------解決策------------------
フォームPOSTが出てきましたね? enctype とは何ですか? それとも AJAX によってもたらされたものですか? Content-Type は何を設定しますか? HTTP_RAW_POST_DATA を見てみましょう。