2012-01-11 91 views
0

我想将表格的行转换为XML层次结构。 MySQL的表的结构是这样的:将MySQL表自动转换为XML文件 - 保留层次结构

---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浮NOT NULL DEFAULT '8',
add_xy VARCHAR(10)NOT NULL DEFAULT '0:0',KEY carrier_idcarrier_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> 

我更喜欢自动执行。 ..我使用哪种工具最简单和最好?

回答

0

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

+0

谢谢newtover ....如何认识我需要的层次? – Confidence 2012-01-11 13:19:47