Mysql

如何轉換格式為 XML 的 select 語句的結果?

  • November 16, 2016

當我執行命令時

mysql EvePlanataryExpenses --xml -uuser -p -e "SELECT sTransactionDateTime, SUM(sQuantity * sPrice) as 'profit' FROM sell GROUP BY sMonth;" |sed '/^\s*$/d'

我得到以下輸出

<?xml version="1.0"?>
<resultset statement="SELECT sTransactionDateTime, SUM(sQuantity * sPrice) as 'profit' FROM sell GROUP BY sMonth" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <row>
   <field name="sTransactionDateTime">2016-10-13</field>
   <field name="profit">1177089967.25</field>
 </row>
</resultset>

是否可以statement="text"從根元素中刪除,並將欄位名稱設置為不同於<field name=""></field>SQL 查詢本身的名稱?

我在這裡看到了一些我認為可以使用但無法使其工作的東西。

或者我是否需要通過解析器(Java、PHP 等)執行輸出並獲取它以從根元素中刪除語句並重命名欄位元素?

查詢不知道(或關心)客戶端(本例中為程序)如何格式化其結果mysql,所以不,您不能影響查詢本身中的 XML。您正在尋找的是所謂的 XSL 轉換,其中有命令行工具(例如xmlstarlet),您可以通過這些工具管道輸出。

引用自:https://dba.stackexchange.com/questions/155507