auslesen

Status
Nicht offen für weitere Antworten.

Stack

Mitglied
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]
 
Zuletzt bearbeitet von einem Moderator:
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 glaubts du ich bin so blöd und kenne diese Seite nicht.
Ja, denn sonst hättest du eine konkrete Frage gestellt.


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.
 
Hier haste schon mal ein simples Beispiel: Getting Elements with DOM : DOM NodeXMLJava

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

Java:
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.
 
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 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
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben