Okay, zuerst bin ich ein Anfänger bei Android-Programmierung. Ich habe Java genommen, aber ich lerne immer noch (nicht alle). Ich versuche, das Quellcodeformular here zu nehmen und es richtig lesen zu lassen. Momentan habe ich 2 Probleme. Ich werde nur den ersten angeben und dann einen zweiten Beitrag für den zweiten Beitrag veröffentlichen.
Einer der RSS-Feed wird auf meinem Gerät angezeigt, es enthält nicht alle Details (Beschreibung). Wenn ich den Feed über meinen Browser lade, bemerke ich, dass einige der Anführungszeichen und Apostrophen in " und ' umgewandelt werden. Aus irgendeinem Grund hält dies den Parser davon ab, ihn korrekt zu analysieren. Jede Hilfe würde sehr geschätzt werden.Einige Zitate und Apostrophe werden nicht korrekt analysiert
Antwort
Ich habe die Ursache des Problems herausgefunden. Ich musste einen String-Puffer in der Charcters-Methode einrichten.
public void characters(char ch[] , int start, int length)
{
if (buffering)
buf.append(ch, start, length);
}
Sobald ich das tat, ich habe gerade den String in einen String im „Endelement“ -Methode zugewiesen, wenn ich meine Daten gespeichert.
public void endElement(String namespaceURI, String localName, String qName) throws SAXException
{
String content = buf.toString();
Log.i("RSSReader ",currentstate +" " + content + "]");
switch (currentstate)
{
case RSS_TITLE:
_item.setTitle(content);
buffering = false;
currentstate = 0;
break;
case RSS_LINK:
_item.setLink(content);
buffering = false;
currentstate = 0;
break;
case RSS_DESCRIPTION:
_item.setDescription(content);
buffering = false;
currentstate = 0;
break;
}
Danach hat alles gut geklappt.
Dieser Code ist zu unvollständig, um nützlich zu sein. Bitte überlegen Sie, mehr hinzuzufügen. – user123321
Ich hatte das gleiche Problem. Ich habe UTF-8-Codierung für die Analyse verwendet. Aber nachdem es ISO-8859-1 gemacht hatte, lief alles korrekt. Ich kann nicht den vollständigen Code einfügen, sondern nur eine Probe für Sie, wo Sie ändern, wie folows ist machen: Meine vorherigen Code zum Parsen Danach
Xml.parse(feedStream, Xml.Encoding.UTF_8, root.getContentHandler());
war ich es wie folgt umgerechnet:
Xml.parse(feedStream, Xml.Encoding.ISO_8859_1, root.getContentHandler());
was wäre der Code, wenn auf das Beispiel hier angewendet wird http://www.ibm.com/developerworks/xml/library/x-android/ – acithium
Wenn Sie die Seite richtig überprüfen, gibt es "Einfachere SAX-Analyse" Darunter gibt es " Listing 7. Android SAX-Parser "Sie können den gleichen Code finden, den ich angegeben habe, ersetzen Sie nur den Codierungstyp. –
Ich habe das versucht, aber keine Würfel. Ich habe bemerkt, dass es eine JSP-Datei ist. Der Header sagt, dass es ein XML-Dokument ist, aber es hat immer noch diese ' s-Strings drin. Ich werde weiter herumspielen und sehen, was mir einfällt. – acithium
Können Sie ein Beispiel für den RSS-Feed posten, das Probleme verursacht? –
Hier ist die RSS-Feed-Adresse: http://ramstein.bookoo.com/rss.jsp? w = & s = 25 & n = 15 && ck = – acithium