gpt4 book ai didi

java - 将解析的XML数据保存在SQLite,Android中?

转载 作者:行者123 更新时间:2023-12-01 12:51:43 26 4
gpt4 key购买 nike

我有以下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解析代码

    public void parseXMLAndStoreIt(XmlPullParser myParser) {
int event;
try {
event = myParser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
if (event == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if (event == XmlPullParser.END_DOCUMENT) {
System.out.println("End document");
} else if (event == XmlPullParser.START_TAG) {
System.out.println("Start tag " + myParser.getName());
if (myParser.getName().equals("DataList")) {
Log.e("data list ",
"" + myParser.getAttributeValue(null, "Name"));

} else if (myParser.getName().equals("Distributor")) {
Log.e("dis name ",
"" + myParser.getAttributeValue(null, "Name"));
Log.e("dis id ",
"" + myParser.getAttributeValue(null, "Id"));
} else if (myParser.getName().equals("Town")) {
Log.e("town name ",
"" + myParser.getAttributeValue(null, "Name"));
Log.e("Town id ",
"" + myParser.getAttributeValue(null, "Id"));
} else if (myParser.getName().equals("Beat")) {
Log.e("beat name ",
"" + myParser.getAttributeValue(null, "Name"));
Log.e("beat id ",
"" + myParser.getAttributeValue(null, "Id"));
} else if (myParser.getName().equals("Dealer")) {
Log.e("dealer name ",
"" + myParser.getAttributeValue(null, "Name"));
Log.e("delaer id ",
"" + myParser.getAttributeValue(null, "Id"));
}
} else if (event == XmlPullParser.END_TAG) {
System.out.println("End tag " + myParser.getName());
} else if (event == XmlPullParser.TEXT) {
System.out.println("Text " + myParser.getText());
}
event = myParser.next();
}
} catch (Exception e) {
e.printStackTrace();
}

}


我需要将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
}

关于java - 将解析的XML数据保存在SQLite,Android中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com