将Mysql表自动转换为XML文件 - 保留层次结构

时间:2012-01-11 12:25:10

标签: mysql xml export

我想将表格的行转换为XML层次结构。 mysql表的结构如下:

---table structure

CREATE TABLE IF NOT EXISTS `carrier_template_helper` (
  `carrier_id` int(5) NOT NULL DEFAULT '0',
  `tarifs_v` int(10) NOT NULL DEFAULT '0',
  `customer_f` varchar(30) NOT NULL,
  `templates_f` varchar(30) NOT NULL,
  `page` int(2) NOT NULL DEFAULT '1',
  `customer_f_contains_str` varchar(100) NOT NULL,
  

replace_str varchar(100)NOT NULL,add_str_before varchar(100)   NOT NULL,add_str_after varchar(100)NOT NULL,call_method   varchar(50)NOT NULL,font_size float NOT NULL DEFAULT'8',
  add_xy varchar(10)NOT NULL DEFAULT'0:0',KEY carrier_id   (carrier_idtarifs_vcustomer_ftemplates_f))ENGINE = MyISAM   DEFAULT CHARSET = latin1;

INSERT INTO `carrier_template_helper` (`carrier_id`, `tarifs_v`, `customer_f`, `templates_f`, `page`, `customer_f_contains_str`, `replace_str`, `add_str_before`, `add_str_after`, `call_method`, `font_size`, `add_xy`) VALUES
(80, 2, 'billing_city', 'posbilling_city', 1, '', '', '', '', 'switch_to_city', 8, ''),
(80, 2, 'billing_street1', 'posbilling_street1', 1, '', '', '', '', 'switch_to_street1', 8, '');

(80, 11, 'billing_city', 'posbilling_city', 1, '', '', '', '', 'switch_to_city', 8, ''),
(80, 11, 'billing_street1', 'posbilling_street1', 1, '', '', '', '', 'switch_to_street1', 8, ''); '

我需要我的XML与carrier_id-> tarifs_v的层次结构,然后其余的...在伪代码中这样的东西

<?xml version="1.0"?>
<!DOCTYPE ...........>
<carriers>
<tarifs>
<customer_f>2</customer_f>
<tarifs_v>billing_city</tarifs_v>
<templates_f>posbilling_city</templates_f>
.
.
.
<tarifs>

<tarifs>
<customer_f>11</customer_f>
<tarifs_v>billing_city</tarifs_v>
<templates_f>posbilling_city</templates_f>
.
.
.
<tarifs>

</carriers>

我真的很想自动化...我最简单,最好用的工具是什么?

1 个答案:

答案 0 :(得分:0)

我会使用带有-X选项的mysql控制台,将结果作为XML + XSLT转换返回。