是否有可能将MySQL查询的输出直接转换为XML?
我指的是类似MSSQL的 SQL-XML 插件,例如:
SELECT * FROM table WHERE 1 FOR XML AUTO
返回文本(或精确地说是MSSQL中的xml数据类型),该文本包含根据表中的列生成的XML标记结构。
使用 SQL-XML ,还可以选择如下显式定义输出XML结构:
SELECT 1 AS tag, NULL AS parent, emp_id AS [employee!1!emp_id], cust_id AS [customer!2!cust_id], region AS [customer!2!region] FROM table FOR XML EXPLICIT
生成如下的XML代码:
<employee emp_id='129'> <customer cust_id='107' region='Eastern'/> </employee>
您有什么线索可以在MySQL中实现吗?
预先感谢您的回答。
将XML与MySQL结合使用似乎是从MySQL查询转换为XML的各种不同方式的好地方。
从文章:
use strict; use DBI; use XML::Generator::DBI; use XML::Handler::YAWriter; my $dbh = DBI->connect ("DBI:mysql:test", "testuser", "testpass", { RaiseError => 1, PrintError => 0}); my $out = XML::Handler::YAWriter->new (AsFile => "-"); my $gen = XML::Generator::DBI->new ( Handler => $out, dbh => $dbh ); $gen->execute ("SELECT name, category FROM animal"); $dbh->disconnect ();