# auslesen



## Stack (12. Apr 2009)

Hallo Forum,

ich möchte einem Formulargenerator Werte übergeben mit denen soll  dann das Formular generiert werden.
Ich habe mir überlegt ob ich die nicht aus einer DB Tabelle (z.B MySql o.ä) auslesen soll.
Eigentlich kann ich mein Vorhaben sicherlich auch mit einer XML-Datei umsetzen. Leider aber
habe ich davon relativ wenig Ahnung und brauche einwenig Unterstützung.

Wie kann ich 
einzelnes Datenelement auslesen

[xml]
<?xml version='1.0' encoding='utf-8'?>
<!-- MyXmlFile.xml -->
<Komp-Description>
    <Fieldname>PROID
    <Fieldtyp>Input Field</Fieldtyp>
      <Fieldlabel>ProjectID</Fieldlabel>
      <Inputlength>20</Inputlength>
    </Fieldname>

    <Fieldname>INVTYP
    <Fieldtyp>Input Field</Fieldtyp>
      <Fieldlabel>Investtype</Fieldlabel>
      <Inputlength>20</Inputlength>
    </Fieldname>

    <Fieldname>FASS
    <Fieldtyp>Input Field</Fieldtyp>
      <Fieldlabel>Financial assets</Fieldlabel>
      <Inputlength>20</Inputlength>
    </Fieldname>
</Komp-Description>[/xml]


----------



## foobar (12. Apr 2009)

Java examples (example source code) Organized by topic


----------



## Stack (12. Apr 2009)

foobar glaubts du ich bin so blöd und kenne diese Seite nicht.

Ich glaube nicht dass ein Forum  damit den Zweck erfüllt in dem man einfach

den Link zu der Seite nennt um das sich das Thema handelt. 

Bitte keine belanglosen Postings mehr auf meine Fragen.

Du hast mit deinem Beitrag nichts erreicht außer dass Du mich genervt hast


----------



## foobar (12. Apr 2009)

Stack hat gesagt.:


> foobar glaubts du ich bin so blöd und kenne diese Seite nicht.


Ja, denn sonst hättest du eine konkrete Frage gestellt.




Stack hat gesagt.:


> Ich glaube nicht dass ein Forum  damit den Zweck erfüllt in dem man einfach
> den Link zu der Seite nennt um das sich das Thema handelt.
> Bitte keine belanglosen Postings mehr auf meine Fragen.
> Du hast mit deinem Beitrag nichts erreicht außer dass Du mich genervt hast


Mich nerven Threads die nur zeigen, dass der Threadersteller nicht mal in der Lage ist Onkel Google zu fragen. Wenn du die Seite bereits kennst, dann weißte ja welche APIs es gibt und wie man damit arbeitet. Falls dann noch Fragen sind kannste gerne Code posten und eine konkrete Frage stellen.


----------



## Stack (12. Apr 2009)

foobar hat gesagt.:


> Ja, denn sonst hättest du eine konkrete Frage gestellt.



möchtet Ihr mich verarschen ? Habe ich die Frage auf chinesisch gestellt


----------



## foobar (12. Apr 2009)

Hier haste schon mal ein simples Beispiel: Getting Elements with DOM : DOM NodeXMLJava

Für dich könnte das dann ungefähr so aussehen:


```
import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.SAXException;
import java.io.IOException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;

public class MainClass {
  public static void main(String args[]) throws IOException, SAXException {
    DOMParser parser = new DOMParser();
    parser.parse("games.xml");
    Document dom = parser.getDocument();
    NodeList fields = dom.getElementsByTagName("Fieldname");
    for (int i = 0; i < fields.getLength(); i++) {
      Node aNode = fields.item(i);
      System.out.println(textNode.getFirstChild().getNodeValue());
    }
  }
}
```
Damit kannste schon mal das File einlesen und über die Fieldname-Elemente iterieren. Über das Objekt aNode kannste jetzt auf alle Kindsknoten wie FieldTyp zugreifen.
Auf die Attribute kannste mit getAttributes() zugreifen: Getting Attributes with DOM : DOM NodeXMLJava

P.S. Das ist nur eine Möglichkeit von vielen. Es gibt jede Menge APIs in Java um XML-Daten einzulesen z.v. SAX, STAX, DOM, JDOM, EMF, JAXB etc.


----------



## Stack (12. Apr 2009)

foobar danke für das Bsp.

Ich bekomme die Meldung. Was brauche denn noch. 
Wo gibt es denn dieses xerces.parsers ?

Grüße
stack

Mainclass.java:1: package org.apache.xerces.parsers does not exist
import org.apache.xerces.parsers.DOMParser;
                                ^
Mainclass.java:10: cannot find symbol
symbol  : class DOMParser
location: class MainClass
    DOMParser parser = new DOMParser();
    ^
Mainclass.java:10: cannot find symbol
symbol  : class DOMParser
location: class MainClass
    DOMParser parser = new DOMParser();
                           ^
Mainclass.java:16: cannot find symbol
symbol  : variable textNode
location: class MainClass
      System.out.println(textNode.getFirstChild().getNodeValue());
                         ^
4 errors


----------



## foobar (13. Apr 2009)

Sorry, das Beispiel benutzt einen externe API. Das geht aber auch alles mit Bordmitteln:http://www.java-forum.org/codeschni...arkup-language-konfigurationsdatei-laden.html

BTW Benutzt du keine IDE?


----------



## Stack (13. Apr 2009)

foobar danke.


Ich habe aus deinem Bsp. 3 Klassen erzeugt und beim Compilieren bekomme ich die Meldung:

C:\xml\foobar>javac *.java
Note: XmlReaderDemo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.





Gruß
Stack


----------



## foobar (13. Apr 2009)

Das sind nur Warnungen. Warum kompilierst du in der Shell? Benutz doch Eclipse.


----------

