Java 在android的SQLite中保存解析的XML数据?

Java 在android的SQLite中保存解析的XML数据?,java,android,xml,sqlite,Java,Android,Xml,Sqlite,我有下面的XML <?xml version="1.0" encoding="UTF-8"?> <DataList Name="DistributorList"> <Distributor Id="Select" Name="Select"> <Town Id="Select" Name="Select"> <Beat Id="Select" Name="Select"> <

我有下面的XML

    <?xml version="1.0" encoding="UTF-8"?>
       <DataList Name="DistributorList">
   <Distributor Id="Select" Name="Select">
  <Town Id="Select" Name="Select">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
</Distributor>
<Distributor Id="107" Name="Royal Motors">
  <Town Id="Select" Name="Select">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
  <Town Id="21" Name="Gurgaon">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
</Distributor>
<Distributor Id="109" Name="ALI DISTRIBUTOR POINT">
  <Town Id="Select" Name="Select">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
  <Town Id="21" Name="Gurgaon">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
 </Distributor>
<Distributor Id="144" Name="Goyal Accessories">
  <Town Id="Select" Name="Select">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
  </Town>
  <Town Id="22" Name="Faridabad">
     <Beat Id="Select" Name="Select">
        <Dealer Id="Select" Name="Select" />
     </Beat>
     <Beat Id="1" Name="Area1">
        <Dealer Id="Select" Name="Select" />
        <Dealer Id="24964" Name="Kanhaiya Dial " />
        <Dealer Id="24964" Name="Kanhaiya Dial " />
        <Dealer Id="24965" Name="B.K.Mobile Service Centre" />
        <Dealer Id="24965" Name="B.K.Mobile Service Centre" />
        <Dealer Id="24966" Name="Narayan Telecom" />
        <Dealer Id="24966" Name="Narayan Telecom" />
        <Dealer Id="24967" Name="Pawan Telecom" />
        <Dealer Id="24967" Name="Pawan Telecom" />
        <Dealer Id="24968" Name="Sri Ram Communication" />
        <Dealer Id="24968" Name="Sri Ram Communication" />
     </Beat>
  </Town>
</Distributor>
  </DataList>
我需要将XML中的数据保存在android中的单个或多个SQLite表中,以最可行的为准。 可以有多个城镇、节拍和经销商数据

表中的行是

    dist_id
    dist_name
    town_id
    town_name
    beat_id
   beat_name
    dealer_id
    dealer_name
如何保存数据?我对这件事一无所知。 该表应该由XML中的相应数据填充

  • 为数据创建一个类。。具有以下数据类型的

    class myData{
     dist_id
      dist_name
     town_id
    town_name
    beat_id
    beat_name
    dealer_id
    dealer_name
    }
    
  • 您可以创建一个ArrayList

  • 从xml文件中检索数据时,为每个记录创建myData对象并添加到此列表中
  • 最后,将此listView发送到DataHelper类,并将每条记录保存到表中
  • 更新:

      class myData{
         dist_id
          dist_name
         town_id
        town_name
        beat_id
        beat_name
     ArrayList<Dealer> 
    }
    
    class Dealer{ 
    dealer_id
        dealer_name
    }
    
    类myData{
    区id
    地区名称
    城镇标识
    城镇名称
    节拍
    别称
    ArrayList
    }
    类别交易商{
    经销商id
    经销商名称
    }
    
    使用以下类设计:

    class DataList
    {
        ArrayList<Data> data;
    }
    
    class Data
    {
        String distributorId;
        String distributorName;
        String townId;
        String townName;
        String beatId;
        String beatName;
        DealerData dealerData;
    }
    
    class DealerData
    {
        //ArrayList of DealerId, DealerName
        ArrayList<String, String> dealerData;
    }
    

    有多少张桌子?只有一个或四个表。我想您知道如何在Sqlite中创建表和插入记录。一个分发服务器可以有多个经销商。在这种情况下,这个类将爬行。@jungleboy as Shrink说他将只使用一个表。所以这个类只适用于一个表。但是在你的情况下,他必须使用多个表。这不是用户requirement@Shink如果你有ungleboy所说的seniorio,那么你可以像这样使用这个类(正如我上面更新的)我还可以使用什么方法?比如说,如果我用相应的外键为每个人制作单独的表——分销商、经销商、beat、town。这取决于您的使用。在问题中,您只指定经销商数据可以是多个。我提到的方法非常简单。实际上,城镇、节拍和经销商数据可以是多个。所以我正在寻找一个好的完美的解决方案。为town做同样的类设计,就像你为dealer Data做的一样。我不明白你在说什么?
    class DataList
    {
        ArrayList<Data> data;
    }
    
    class Data
    {
        String distributorId;
        String distributorName;
        String townId;
        String townName;
        String beatId;
        String beatName;
        DealerData dealerData;
    }
    
    class DealerData
    {
        //ArrayList of DealerId, DealerName
        ArrayList<String, String> dealerData;
    }
    
    distributionId distributionName townId townName beatId beatName dealerId1 dealerName1
    distributionId distributionName townId townName beatId beatName dealerId2 dealerName2