phpスクリプトでは、文字列やext/domを使用してforeachループを実行してmsqlデータベースから値を取得するXMLデータを出力するにはどうすればよいですか? EDITED:XMLを出力するためにext/domを使用するForeachループの使用方法
<?php
#Programmer: Moses Byanyuma
require('./.env');
// Opens a connection to a mySQL server
try {
$db = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME. ';charset=utf8', DB_USERNAME, DB_PASSWORD);
} catch (PDOException $e) {
echo "An Error occured, could not connect!";
}
$statement = $db->query('SELECT * FROM markers');
$xml = new DOMDocument("1.0");
$xml->formatOutput = true;
$markers = $xml->createElement('markers');
$markers = $xml->appendChild($markers);
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
$marker = $xml->createElement('marker');
$markers->appendChild($marker);
$marker->setAttribute('name', $row['name']);
$marker->setAttribute('lat', $row['lat']);
$marker->setAttribute('lng', $row['lng']);
$marker->setAttribute('address', $row['address']);
$marker->setAttribute('type', $row['type']);
}
echo "<xmp>".$xml->saveXML()."</xmp>";
?>
何を試しましたか?あなたの前の質問にDOMの例へのリンクを掲載しました。 – ThW
@ThWはちょうどこの記事を編集しましたが、少し進歩しましたが、データベースからXMLに値を取得するのに苦労しています。私のforeachループを見てください。 –
@ThWたとえば、試しました:$ name = $ xml- > createAttribute( 'name'、$ row ['name']);ブラウザ上では、createAttributeが1つのパラメータしか期待しておらず、文字列でなければならないというエラーが表示されます。 その後、私はgetAttributeでcreateAttributeを置き換えようとしましたが、これは完全に機能しませんでした。未定義の関数エラーがありました。何をするかidk:/ –