Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Keluaran XML dari MySQL

mysql perintah dapat menampilkan XML secara langsung, menggunakan - -xml opsi, yang tersedia setidaknya sejauh MySql 4.1.

Namun, ini tidak memungkinkan Anda untuk menyesuaikan struktur keluaran XML. Ini akan menampilkan sesuatu seperti ini:

<?xml version="1.0"?>
<resultset statement="SELECT * FROM orders" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
    <field name="emp_id">129</field>
    <field name="cust_id">107</field>
    <field name="region">Eastern</field>
  </row>
</resultset>

Dan Anda ingin:

<?xml version="1.0"?>
<orders>
  <employee emp_id="129">
    <customer cust_id="107" region="Eastern"/>
  </employee>
</orders>

Transformasi dapat dilakukan dengan XSLT menggunakan skrip seperti ini:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="resultset">
    <orders>
      <xsl:apply-templates/>
    </orders>
  </xsl:template>

  <xsl:template match="row">
    <employee emp_id="{field[@name='emp_id']}">
      <customer
        cust_id="{field[@name='cust_id']}"
        region="{field[@name='region']}"/>
    </employee>
  </xsl:template>

</xsl:stylesheet>

Ini jelas jauh lebih bertele-tele daripada sintaks MSSQL yang ringkas, tetapi di sisi lain ini jauh lebih kuat dan dapat melakukan segala macam hal yang tidak mungkin dilakukan di MSSQL.

Jika Anda menggunakan prosesor XSLT baris perintah seperti xsltproc atau saxon , Anda dapat menyalurkan output mysql langsung ke program XSLT. Misalnya:

mysql -e 'select * from table' -X database | xsltproc script.xsl -


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Hapus Query Builder

  2. Cara Menghitung Pengguna Aktif Mingguan (WAU) di MySQL

  3. Bagaimana cara menghapus batasan dari tabel MySQL saya?

  4. mysqli masukkan id terakhir

  5. Tidak dapat memasukkan karakter Yunani dengan benar ke dalam database mysql