# Xml File schematisch auslesen



## Guest (4. Jul 2008)

HAllo,
ich möchte ein XML Dokument auslesen! lass den Benutzer über die Eingabe maske eine Configuration wählen. In meinem XML Dokument stehen dann die ganzen Konfigurationen drin und die dazugehörigen weiteren Informationen. Ich möchte also das XML Dokument durchsuchen lassen bis das Attribut "Configuration id" erreicht ist das den gleichen Inhalt hat wie die ausgewählte Configuration und dann die darunterliegenden Elemente auslesen.

Mein XML Sheet sieht so aus:


```
<?xml version="1.0" encoding="iso-8859-1" ?> 
- <root>
    <web_address>http://172.18.47.217/login.aspx</web_address> 
    <db_address>Data Source=debln193\;Initial Catalog=QualityDB;Integrated Security=True</db_address> 
  - <configuration id="RSS-Default">
   - <language id="C++">
        <tool>#root_tool#\tools\lint\lint-nt.exe</tool> 
        <arguments>-i#root_src#\include\atl -i#root_src#\include\ms -i#root_src#\rss                                                                                          -i#root_src#\include\mfc</arguments> 
        <project_suffix>dsp</project_suffix> 
        <rules>#root_tool#\rules\lint\lint_default.xml</rules> 
       </language>
  </configuration>
- <configuration id="LS-Default">
    - <language id="java">
.
.
.
.
.
```

Ich möchte also language_id, tool,arguments,project suffix und rules auslesen!

Kann mir da jemand weiterhelfen??


----------



## foobar (5. Jul 2008)

Da gibts viele Möglichkeiten und bergeweise Threads zu diesem Thema. Such mal nach DOM, JDOM oder JAXB
z.b. das hier:  http://www.java-forum.org/de/viewtopic.php?t=8325&highlight=config


----------



## Guest (8. Jul 2008)

Hi,
Danke für die Antwort...habe das jetzt mal so probiert aber jedesmal beim Debuggen springt er bei String name= nodemap1.getNamedItem("configuration id").getNodeValue(); raus.




```
public void ReadConfiguration(String path,String Config){
 Boolean Readdata;
 int id;
        String childnode;
        Node child;
        String Language;
        CurrentDirectory();
      try {File xmlFile = null;
  		xmlFile = new File( installationspath + "configuration.xml" );
  		
  		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  		DocumentBuilder builder = factory.newDocumentBuilder();
 		org.w3c.dom.Document doc = builder.parse(xmlFile);
                NodeList objects = doc.getElementsByTagName("root");
                String web_adresse = objects.item(0).getTextContent().toString();               
                for (int i = 0; i < objects.getLength(); i++) {

			Node firstNode = objects.item(i);
			NamedNodeMap nodemap1 = firstNode.getAttributes();

			String name = nodemap1.getNamedItem("configuration id").getNodeValue();
			//System.out.println(name);

			NodeList params = doc.getElementsByTagName("param");
                        if (name.contains(Config))
                            Language = nodemap1.getNamedItem("language id").getNodeValue();
                            String tool =doc.getElementsByTagName("tool").toString();
                            String arguments = doc.getElementsByTagName("arguments").toString();
                            String project_suffix = doc.getElementsByTagName("project_suffix").toString();
                            String rules = doc.getElementsByTagName("rules").toString();
```


----------

