Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vòng lặp Foreach sử dụng chuỗi để xuất XML

foreach có thể lặp lại bất kỳ mảng hoặc đối tượng nào triển khai có thể duyệt. Kết quả của PDOStatement::fetch() là bản ghi / hàng. Chỉ cần cung cấp tuyên bố để nói trước.

foreach($statement as $row) { ...   

API tốt hơn cho các kết xuất như vậy là XMLWriter . Nó ghi kết quả trực tiếp vào một luồng, mà không cần lưu trữ toàn bộ tài liệu trong bộ nhớ trước. Việc sử dụng API XML cũng sẽ xử lý việc thoát khi cần thiết. Đây là một ví dụ nhỏ:

$statement = [
  [ 'name' => 'one', 'location' => '...', /* ... */],
  [ 'name' => 'two', 'location' => '...', /* ... */]
];

$xmlWriter = new XMLWriter();
$xmlWriter->openUri('php://stdout');

$xmlWriter->startDocument();
$xmlWriter->setIndent(2);
$xmlWriter->startElement('markers');
foreach ($statement as $row) {
  $xmlWriter->startElement('marker');
  $xmlWriter->writeAttribute('name', $row['name']);
  /* other attributes ... */
  $xmlWriter->endElement();
}
$xmlWriter->endElement();
$xmlWriter->endDocument();

Đầu ra:

<?xml version="1.0"?>
<markers>
 <marker name="one"/>
 <marker name="two"/>
</markers>

Trong DOM, bạn tạo, nối và định cấu hình các nút. Đây là một ví dụ nhỏ: https://stackoverflow.com/a/21760903/2265374




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động điền trong MySQL trong Windows

  2. Làm cách nào để kết nối XAMPP MySQL local DB bằng JDBC?

  3. MySQL:Sử dụng các ngày trong điều kiện giữa để có kết quả

  4. Tại sao MySQL gặp lỗi Không được phép trả về tập kết quả từ một hàm?

  5. Truy cập cơ sở dữ liệu MySQL bằng c # trên thống nhất?