# Problem beim XML-Lesen



## Jboss (3. Dez 2008)

Hi,
ich hab ein Problem mit dem Lesen einer XML-Datei.
Der erster Block von Product wird ohne Problem gelesen danach kriege ich Exceptions dass das Rootelement wohlgeformt sein muss .Ist das Document nicht wohlgeformt  ?
Wie kann man Rootelemt einer XML-Datei einfügen ?

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[9,2]
Message: The markup in the document following the root element must be well-formed.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
	at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source)


```
<?xml version="1.0" encoding="UTF-8"?>
<product>
	<id>001</id>
	<name>monitor</name>	
</product>
<product>
	<id>002</id>
	<name>laptop</name>	
</product>
```


```
public void readData() {
	try {
	    // First create a new XMLInputFactory
	    XMLInputFactory inputFactory = XMLInputFactory.newInstance();
	    // Setup a new eventReader
	    InputStream in = new FileInputStream(file);
	    XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
	    // Read the XML document
	    while (eventReader.hasNext()) {
		XMLEvent event = eventReader.nextEvent();
		if (event.isStartElement()) {
		if (event.asStartElement().getName().getLocalPart() == ("id")) {
			event = eventReader.nextEvent();			
			System.out.println(event.asCharacters().getData());
			continue;
		    }		
		    if (event.asStartElement().getName().getLocalPart() == ("name")) {
			event = eventReader.nextEvent();
			spieler = event.asCharacters().getData();
			System.out.println(event.asCharacters().getData());
			continue;
		    }
		    	    
		}
	    }
	} catch (FileNotFoundException e) {
	    e.printStackTrace();
	} catch (XMLStreamException e) {
	    e.printStackTrace();
	}
 }
```


----------



## mvitz (3. Dez 2008)

Ohne jetzt wahnsinnig viel Ahnung von XML zu haben, glaube ich, dass du genau 1 Root Element haben musst.
Versuch es mal so:

```
<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <id>001</id>
    <name>monitor</name>   
  </product>
  <product>
    <id>002</id>
    <name>laptop</name>   
  </product>
</products>
```


----------



## FArt (4. Dez 2008)

Nur die Fehlermeldung in Google eingefügt bringt z.B. diesen Treffer:
http://www.sql-und-xml.de/xml-lernen/wellformed-xml-document-minimal.html


----------

