0

经过搜索,我找到了以下资源:

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>
4

1 回答 1

1

如果您想将 XML 结构保留在数据库中,这是一项不平凡的任务。我知道的最简单的方法之一是使用杜威标签方案,它的表现不是很差。

但是,如果您只想读取 XML 并创建自己的自定义查询,您可以只使用一个 XML 解析器作为 SimpleXML、Nokogiri 或 REXML 并创建您的自定义查询。

于 2013-05-28T13:30:41.457 回答