所以,我很漂亮,我正在尝试解析this xml以获取意大利电视节目列表。 但是当我使用myParser.getText时,它将返回null。 我实际进入节点,但它不会从中得到任何价值。
public void parseXMLAndStoreIt(XmlPullParser myParser) {
int event;
String text=null;
try {
event = myParser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
String name=myParser.getName();
switch (event){
case XmlPullParser.START_TAG:
if(name.equals("display-name")){
channel = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else if(name.equals("programme")){
hour = myParser.getAttributeValue(null,"start");
Log.d(name+" -->",hour);
}
else if(name.equals("title")){
programme = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else if(name.equals("desc")){
description = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else {}
break;
case XmlPullParser.END_TAG:
}
event = myParser.next();
}
parsingComplete = false;
}
catch (Exception e) {
e.printStackTrace();
}
}
现在我的日志不会返回任何原因因为myParser.getText为空,但是如果我只打印名称它实际上会返回我的节点。 getAttributeValue有效,但在这种情况下我需要它
else if(name.equals("programme")){
hour = myParser.getAttributeValue(null,"start");
Log.d(name+" -->",hour);
答案 0 :(得分:1)
我将假设您声明的变量channel, hour, programme, description
是类变量?我不知道这些声明在哪里,但想确定一下。
至于getText()
我认为你需要在TEXT
事件中实际使用它,而不是START_TAG
的getText
在API级别1中添加了字符串getText()
以String形式返回当前事件的文本内容。价值 返回取决于当前事件类型,例如对于TEXT事件它 是元素内容(这是使用next()时的典型情况)。看到 nextToken()的描述可能的详细描述 返回不同类型事件的值。
https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html#getText()
答案 1 :(得分:0)
我知道我迟到但我想介绍simple framework进行xml解析。
通过将此行添加到app模块的build.gradle
来添加此库compile 'org.simpleframework:simple-xml:2.5'
以下是可以帮助您解析xml的代码
<强>代码强>
public class TestDriveTv {
public static void main(String[] args) throws Exception{
String path = "http://tvprofil.net/xmltv/data/rai-1.it/weekly_rai-1.it_tvprofil.net.xml";
URL url = new URL(path);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.connect();
Serializer serializer = new Persister();
Tv tv = serializer.read(Tv.class, httpURLConnection.getInputStream());
printText(tv.getSource_data_url());
printText(tv.getSource_info_name());
printText(tv.getSource_info_url());
printText("\n");
for (Programme programme:tv.getProgrammes()){
printText("##Program##");
printText(programme.getChannel());
printText(programme.getStart());
printText(programme.getStop());
printText(programme.getTitle());
printText(programme.getCategory());
printText(programme.getDesc());
printText("\n");
}
}
public static String getPath() {
return Paths.get("").toAbsolutePath().toString();
}
public static void printText(String text) {
System.out.println("" + text);
}
}
<强> TV 强>
@Root(name = "tv", strict = false)
public class Tv {
@Attribute(name = "source-data-url", required = false)
private String source_data_url;
@Attribute(name = "source-info-name", required = false)
private String source_info_name;
@Attribute(name = "source-info-url", required = false)
private String source_info_url;
@ElementList(name = "programme",inline = true, required = false)
private List<Programme> programmes;
public String getSource_data_url() {
return source_data_url;
}
public void setSource_data_url(String source_data_url) {
this.source_data_url = source_data_url;
}
public String getSource_info_name() {
return source_info_name;
}
public void setSource_info_name(String source_info_name) {
this.source_info_name = source_info_name;
}
public String getSource_info_url() {
return source_info_url;
}
public void setSource_info_url(String source_info_url) {
this.source_info_url = source_info_url;
}
public List<Programme> getProgrammes() {
return programmes;
}
public void setProgrammes(List<Programme> programmes) {
this.programmes = programmes;
}
}
<强>频道强>
@Root(name = "channel", strict = false)
public class Channel {
@Attribute(name = "id", required = false)
private String id;
@Element(name = "display-name", required = false)
private String display_name;
@Element(name = "url", required = false)
private String url;
@Element(name = "icon", required = false)
private String icon;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDisplay_name() {
return display_name;
}
public void setDisplay_name(String display_name) {
this.display_name = display_name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
}
<强>程序强>
@Root(name = "programme", strict = false)
public class Programme {
@Attribute(name = "channel", required = false)
private String channel;
@Attribute(name = "start", required = false)
private String start;
@Attribute(name = "stop", required = false)
private String stop;
@Element(name = "title", required = false)
private String title;
@Element(name = "category", required = false)
private String category;
@Element(name = "desc", required = false)
private String desc;
public String getChannel() {
return channel;
}
public void setChannel(String channel) {
this.channel = channel;
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getStop() {
return stop;
}
public void setStop(String stop) {
this.stop = stop;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
<强>输出强>
http://tvprofil.net/xmltv/
Phazer XML servis 4.6
http://tvprofil.net
##Program##
rai-1.it
20160607060000 +0200
20160607063000 +0200
Il caffè di Raiuno
null
null
##Program##
rai-1.it
20160607063000 +0200
20160607064300 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607064300 +0200
20160607064500 +0200
CCISS Viaggiare informati
vijesti
Lo spazio dedicato a chi si mette in viaggio. Informazioni su viabilità, condizioni meteorologiche, interruzioni stradali e percorsi alternativi con aggiornamenti in tempo reale.
##Program##
rai-1.it
20160607064500 +0200
20160607064900 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607064900 +0200
20160607065000 +0200
Che tempo fa, informazione
vijesti
null
##Program##
rai-1.it
20160607065000 +0200
20160607065500 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607065500 +0200
20160607070000 +0200
Parlamento Telegiornale
vijesti
Un breve panorama quotidiano sulle sedute di Camera e Senato. Un'agenda sull'attività parlamentare del giorno.
##Program##
rai-1.it
20160607070000 +0200
20160607071000 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607071000 +0200
20160607073000 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607073000 +0200
20160607073300 +0200
TG 1 L.I.S.
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607073300 +0200
20160607075300 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607075300 +0200
20160607075500 +0200
Che tempo fa, informazione
vijesti
null
##Program##
rai-1.it
20160607075500 +0200
20160607080000 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607080000 +0200
20160607082500 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607082500 +0200
20160607082700 +0200
Che tempo fa, informazione
vijesti
null
##Program##
rai-1.it
20160607082700 +0200
20160607090000 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607090000 +0200
20160607090300 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607090300 +0200
20160607090500 +0200
Che tempo fa, informazione
vijesti
null
##Program##
rai-1.it
20160607090500 +0200
20160607093000 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607093000 +0200
20160607093500 +0200
TG1 FLASH
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607093500 +0200
20160607100000 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607100000 +0200
20160607100500 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607100500 +0200
20160607104500 +0200
Unomattina Estate
vijesti
Spazio alla cronaca, all'attualità, alla politica, al costume e al sociale con collegamenti con le sedi regionale e estere. In collaborazione con il Tg1, la conduzione è stata affidata a Mia Ceran e Alessio Zucchini, mentre la postazione web, dedicata alle agenzie e ai giornali esteri, sarà occupata da Antonia Varini.
##Program##
rai-1.it
20160607104500 +0200
20160607113000 +0200
Reef Doctors - dottori a Hope Island, serie, Oltre la paura
serija
TELEFILM Reef Doctors - dottori a Hope Island - Oltre la paura 1^ Visione RAI.
##Program##
rai-1.it
20160607113000 +0200
20160607133000 +0200
Don Matteo 6 - st 06
serija
La Rai Radiotelevisione Italiana presenta Don Matteo 6 - Francesca e il lupo - La giostra dei desideri.
Lo chiamano il detective al servizio di Dio: è il prete investigatore, astuto e simpatico che concilia la tradizionale missione pastorale con la passione per l'investigazione. È Don Matteo Bondini.
##Program##
rai-1.it
20160607133000 +0200
20160607140000 +0200
TELEGIORNALE
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607140000 +0200
20160607140500 +0200
TG1 Economia
vijesti
Quotidiano di informazione sull'Azienda Italia A cura della Redazione Economico Sindacale.
##Program##
rai-1.it
20160607140500 +0200
20160607153500 +0200
Estate in diretta
show
Dalle ore 14.05 alle ore 15.50 Conduce: Arianna Ciampoli Dalle ore 16.40 alle ore 18.40 Conducono: Eleonora Daniele e Salvo Sottile Estate in diretta è un programma di attualità, cronaca e spettacolo. Sarà una grande finestra su tutti gli avvenimenti dellestate raccontati in studio e approfonditi da collegamenti in diretta e da servizi fumati. Un grande racconto popolare che vuole coinvolgere e appassionare il pubblico a casa sui grandi temi di interesse generale. La prima parte del programma s... (more at http://tvprofil.net)
##Program##
rai-1.it
20160607153500 +0200
20160607162700 +0200
SOAP Legami
null
null
##Program##
rai-1.it
20160607162700 +0200
20160607163000 +0200
Che tempo fa, informazione
vijesti
null
##Program##
rai-1.it
20160607163000 +0200
20160607164000 +0200
TG 1
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607164000 +0200
20160607184500 +0200
Estate in diretta
show
Dalle ore 14.05 alle ore 15.50 Conduce: Arianna Ciampoli Dalle ore 16.40 alle ore 18.40 Conducono: Eleonora Daniele e Salvo Sottile Estate in diretta è un programma di attualità, cronaca e spettacolo. Sarà una grande finestra su tutti gli avvenimenti dellestate raccontati in studio e approfonditi da collegamenti in diretta e da servizi fumati. Un grande racconto popolare che vuole coinvolgere e appassionare il pubblico a casa sui grandi temi di interesse generale. La prima parte del programma s... (more at http://tvprofil.net)
##Program##
rai-1.it
20160607184500 +0200
20160607200000 +0200
Reazione a Catena, quiz
show
null
##Program##
rai-1.it
20160607200000 +0200
20160607203000 +0200
TELEGIORNALE
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607203000 +0200
20160607233000 +0200
Wind Music Awards 2016, musica
null
null
##Program##
rai-1.it
20160607233000 +0200
20160607233300 +0200
TG1 60 Secondi
vijesti
Segui gli appuntamenti quotidiani del Tg1, rivedi on line l'ultima edizione. Entra nel sito e scopri tutte le rubriche.
##Program##
rai-1.it
20160607233300 +0200
20160608000000 +0200
Wind Music Awards 2016, musica
null
null
##Program##
rai-1.it
20160608000000 +0200
20160608012000 +0200
Porta a Porta
vijesti
La seconda serata di Rai Uno nel salotto di Bruno Vespa: con i suoi ospiti approfondisce i temi di attualità, cronaca e politica.