搜索后,我找到了以下资源:
http://xml-simple.rubyforge.org
http://www.tutorialspoint.com/ruby/ruby_xml_xslt.htm
在尝试之前我只是想确保有更好的方法将xml文件的节点/标签的值导入mysql(从一个xml文件到mysql中的多个表),这些天可能已经有人这样做了
写这个,我也觉得重点不是如何将xml导入mysql,但是如何读取xml文件的值并将它们写入mysql可能是一个不同的问题......如果我的问题不太明确,我道歉。
示例xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ShipmentRequest>
<Message>
<Header>
<MemberId>MID-0000001</MemberId>
<MemberName>Bruce</MemberName>
<DeliveryId>0000001</DeliveryId>
<OrderNumber>ON-000000001</OrderNumber>
<ShipToName>Alan</ShipToName>
<ShipToZip>123-4567</ShipToZip>
<ShipToStreet>West</ShipToStreet>
<ShipToCity>Seatle</ShipToCity>
<Payments>
<PayType>Credit Card</PayType>
<Amount>20</Amount>
</Payments>
<Payments>
<PayType>Points</PayType>
<Amount>22</Amount>
</Payments>
<PayType />
</Header>
<Line>
<LineNumber>3.1</LineNumber>
<ItemId>A-0000001</ItemId>
<Description>Apple</Description>
<Quantity>2</Quantity>
<UnitCost>5</UnitCost>
</Line>
<Line>
<LineNumber>4.1</LineNumber>
<ItemId>P-0000001</ItemId>
<Description>Peach</Description>
<Quantity>4</Quantity>
<UnitCost>6</UnitCost>
</Line>
<Line>
<LineNumber>5.1</LineNumber>
<ItemId>O-0000001</ItemId>
<Description>Orange</Description>
<Quantity>2</Quantity>
<UnitCost>4</UnitCost>
</Line>
</Message>
</ShipmentRequest>
答案 0 :(得分:1)
如果要将XML结构保留在数据库中,这是一项非常重要的任务。我知道的一种最简单的方法是使用dewey labeling scheme,但它的表现并不差。
但是,如果您只想阅读XML并创建自己的自定义查询,则可以使用一个XML解析器作为SimpleXML,Nokogiri或REXML并创建自定义查询。