XML - Datei wird nicht ganz angezeigt

JavaGamer

Bekanntes Mitglied
Hallo, ich bin dabei ein Programm zu schreiben das eine .xml Datei ausliest und den Inhalt dann wiedergibt.
Leider wird nur dies angezeigt:
Dieser Brief ist von wohnhaft in der text, text vom date, date
Eigentlich soll aber dies angezeigt werden:
Dieser Brief ist von title, title wohnhaft in der text, text vom date, date

Hier ist die .xml Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<news>
	<title>
		title, title
	</title>
	<text>
		text, text
	</text>
	<date>
		date, date
	</date>
</news>

Hier ist mein Code:
Java:
package volcanoplayer.launcher.news;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

public class SAX 
{
	
	// sets the file name, that the program know's the name of the file
	private String filename = "." + File.separator + "news.xml";
	
	public SAX()
	{
		this.getNews();
	}
	
	public void getNews()
	{
		try 
		{
			// creates a new XML file reader
			XMLReader xmlReader = XMLReaderFactory.createXMLReader();
			
			// creates a new file reader
			FileReader reader = new FileReader(filename);
			// Gibt die Eingabequelle an
			InputSource inputSource = new InputSource(reader);
			
			// sets the content handler (shows what is in the file and what must do)
			xmlReader.setContentHandler(new NewsHandler());
			// Parsen wird gestartet
			xmlReader.parse(inputSource);
		}
		catch (FileNotFoundException e)
		{
			e.printStackTrace();
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
		catch (SAXException e)
		{
			e.printStackTrace();
		}
	}
}
Java:
package volcanoplayer.launcher.news;

public class News2 
{
	
	private int id;
    private String title;
    private String text;
    private String date;
    
    /**
     * @return the id
     */
    public int getID()
    {
    	return id;
    }
    
    public void setID(int id)
    {
    	this.id = id;
    }
    
    /**
     * @return the title
     */
    public String getTitle()
    {
        return title;
    }
    
    /**
     * @return the text
     */
    public String getText() 
    {
        return text;
    }
    
    /**
     * @return the date
     */
    public String getDate() 
    {
        return date;
    }
    
    /**
     * @param title the title to set
     */
    public void setTitle(String title)
    {
        this.title = title;
    }
    
    /**
     * @param text the text to set
     */
    public void setText(String text) 
    {
        this.text = text;
    }
    
    /**
     * @param date the date to set
     */
    public void setDate(String date) 
    {
        this.date = date;
    }
    
    /**
     * @param title
     * @param text
     * @param date
     */
    public News2(String title, String text, String date) 
    {
        super();
        this.title = title;
        this.text = text;
        this.date = date;
    }
     
    @Override
    public String toString()
    {
        return "Dieser Brief ist von "+ this.title +" wohnhaft in der " + this.text.trim() + " vom " + this.date.trim();
    }
}
Java:
package volcanoplayer.launcher.news;

import java.util.ArrayList;

import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;

public class NewsHandler implements ContentHandler 
{
	
	  private ArrayList<News2> alleLetter = new ArrayList<News2>();
	  private String currentValue;
	  private News2 news;
	  
	  // Aktuelle Zeichen die gelesen werden, werden in eine Zwischenvariable
	  // gespeichert
	  public void characters(char[] ch, int start, int length) throws SAXException 
	  {
	    currentValue = new String(ch, start, length);
	  }
	 
	  // Methode wird aufgerufen wenn der Parser zu einem Start-Tag kommt
	  public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException 
	  {
	    if (localName.equals("news"))
	    {
	    	// Neue News erzeugen
	    	news = new News2(null,null,null);
	    }
	    
	      // Attribut id wird in einen Integer umgewandelt und dann zu der
	      // jeweiligen Person gesetzt
	    //news.setId(Integer.parseInt(atts.getValue("id")));
	  }
	 
	// Methode wird aufgerufen wenn der Parser zu einem End-Tag kommt
	  public void endElement(String uri, String localName, String qName) throws SAXException
	  {
	    // Titel setzen
	    if (localName.equals("title")) 
	    {
	    	news.setTitle(currentValue);
	    }
	 
	    // Text setzen
	    if (localName.equals("text")) 
	    {
	    	news.setText(currentValue);
	    }
	    
	    // Datum setzen
	    if (localName.equals("date")) 
	    {
	    	news.setDate(currentValue);
	    }
	 
	    // Person in Personenliste abspeichern falls Person End-Tag erreicht
	    // wurde.
	    if (localName.equals("news")) 
	    {
	      alleLetter.add(news);
	      System.out.println(news);
	    }
	  }
	 
	  public void endDocument() throws SAXException {}
	  
	  public void endPrefixMapping(String prefix) throws SAXException {}
	  
	  public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {}
	  
	  public void processingInstruction(String target, String data) throws SAXException {}
	  
	  public void setDocumentLocator(Locator locator) {  }
	  
	  public void skippedEntity(String name) throws SAXException {}
	  
	  public void startDocument() throws SAXException {}
	  
	  public void startPrefixMapping(String prefix, String uri) throws SAXException {}
}

Ich hoffe ihr könnt mir helfen.
JavaGamer
 

Lodorvonhal

Mitglied
Hallo,

also erstmal fehlt in der News2 Klasse ein trim() in Zeile 88 hinter deinem 'title'

komischerweise habe ich Deinen Code mal 1:1 übernommen. Habe jedoch das xml File mal ohne Zeilenumbruch zwischen start und end - Tag geschrieben.

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<news>
<title>title, title</title>
<text>text, text</text>
<date>date, date</date>
</news>
[/XML]


Damit gehts.
Sehr komisch das die anderen beiden Tags das nicht interessiert hat. :bahnhof:
 

JavaGamer

Bekanntes Mitglied
Hallo,

also erstmal fehlt in der News2 Klasse ein trim() in Zeile 88 hinter deinem 'title'

komischerweise habe ich Deinen Code mal 1:1 übernommen. Habe jedoch das xml File mal ohne Zeilenumbruch zwischen start und end - Tag geschrieben.

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<news>
<title>title, title</title>
<text>text, text</text>
<date>date, date</date>
</news>
[/XML]


Damit gehts.
Sehr komisch das die anderen beiden Tags das nicht interessiert hat. :bahnhof:

Danke. Jetzt funktioniert es.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D XML Datei wird nicht gefunden XML & JSON 4
T Tags in XML Datei mit Java erstellen XML & JSON 3
S XML Datei speichern nicht möglich XML & JSON 13
M Objekt zu jsonArray in .json datei hinzufügen ? XML & JSON 3
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
MiMa Buch Metadaten aus XML Datei parsen XML & JSON 48
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
U jar Datei mit ant erstellen XML & JSON 1
P wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? XML & JSON 2
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
D XML-Datei per Button erstellen XML & JSON 3
K JAR-File mit XML-Datei XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
E JTreedaten in eine XML Datei speichern XML & JSON 3
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
B xsd-Datei ins jar file XML & JSON 5
T Formulardaten in XML Datei speichern XML & JSON 5
H Wsdl datei XML & JSON 2
D Große XML-Datei in einzel Dateien splitten XML & JSON 3
S Neue Inhalte in XML-Datei einfügen XML & JSON 0
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
M XML-Datei mit JAXB und 2 Namespaces XML & JSON 0
P (Eclipse)Ant Script, .jar Datei erstellen mit MANIFEST.MF XML & JSON 12
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
E ResultSet als XML Datei speichern XML & JSON 7
M XStream, CSV Datei XML & JSON 9
A Frage zu bestehender XML Datei XML & JSON 6
A Simple Constructor Injection Datei-Pfad XML & JSON 6
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
A XML datei lesbar speichern (eingerückt) XML & JSON 7
M XML Datei Parsen XML & JSON 4
Airwolf89 HTML Datei mit SAXBuilder laden hängt sich auf XML & JSON 4
N Java Code aus XML Datei generieren XML & JSON 8
D Aus lesen einer XML-Datei ( 1 root, 3 childs) XML & JSON 7
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
R XLM Datei lesen Ändern (kompliziertes Search and Replace) und Speichern XML & JSON 12
K Kurze XML Datei Parsen XML & JSON 5
S XSD-Datei zulässige Werte auslesen XML & JSON 3
M XML Datei heapspace erreicht XML & JSON 3
M Große Datei auslesen/in dieser suchen XML & JSON 2
S Konforme XML Datei über XSD erstellen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
T Inhalt einer .xml Datei auf Javaoberfläche wiedergeben XML & JSON 4
M XML Datei drucken XML & JSON 8
T Daten aus Programm in XML Datei speichern XML & JSON 2
D XSD Datei erstellen XML & JSON 4
L [SAX] Geschachtelte XML Datei parsen XML & JSON 3
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
G txt. Datei in xml datei konvertieren XML & JSON 21
K XML Datei in ein Java package „einbinden" XML & JSON 3
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
L xml Datei parsen ohne End-Tag XML & JSON 6
C if-Abfrage mit Datei Variable aus XML-Datei XML & JSON 2
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
sylo DOM Document in XML Datei schreiben XML & JSON 5
F XML Datei in Java einlesen XML & JSON 4
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
ARadauer Aus XML Datei Objekte erstellen... XML & JSON 3
N MalformedByteSequenceException bei Lesen aus XML Datei XML & JSON 2
H xml-Datei mit Attributen einlesen XML & JSON 3
A XML-Datei: Ab wann kritische Größe erreicht? XML & JSON 4
multiholle XML Datei elegant verarbeiten XML & JSON 14
M XMI-Datei auslesen XML & JSON 4
T Ließt keine XML Datei XML & JSON 2
R JAXB: Aus einem Vector oder List XML Datei erstellen XML & JSON 1
J XML-Datei ein Array einlesen XML & JSON 10
M xml - datei erstellen XML & JSON 2
T Wie einen String(XML Inhalt) in eine XML Datei speichern? XML & JSON 8
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
H XML-Datei in einzelne XML-Dateien zerlegen XML & JSON 2
G Tags oder Zeilen der Not-Validen XML-Datei XML & JSON 7
C Suche in XML-Datei XML & JSON 6
D Zeilennummer in der XML - Datei XML & JSON 5
S Einlesen einer xml Datei XML & JSON 4
M Datei parsen XML & JSON 5
S PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos XML & JSON 2
S XML Datei einlesen, aber root überspringen XML & JSON 2
T Werte in XML Datei an entsprechender Stelle einfügen XML & JSON 3
Saxony unbekannte XML Datei parsen und ausgeben XML & JSON 10
L XML Datei in Java angeben Pfad? XML & JSON 3
A Mehrere Anwender sollen auf eine XML-Datei zugreifen XML & JSON 4
A SVG Datei auslesen und Batik XML & JSON 1
N neue XML-Datei erstellen mit vorhandener Struktur XML & JSON 18
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
L mit Java eine HTML-Datei erstellen XML & JSON 3
L bz2-Datei parsen XML & JSON 9
A xml-schema aus wsdl auslagern in eine eigene xsd-Datei XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben