ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1762
1762
EMPFEHLEN
-
Hallo liebe XML-Freunde,
ich habe eine kleine SAX-Apllication zum parsen geschrieben und nun möchte ich die Werte(daten) von bestimmten XML-Elementen zu Variablen eines vom mir definierten Array übergeben. Ziel: diese Daten in Array werden später in einer Datenbank danks jdbc-Applikation gespiechert.
Hier ist ein teil meiner quellcode: (damit habe ich bestimmten Werte mit System.out.println() "innerhalb character()-methode" ausgegeben)
private String language = "";
private String currency = "";
private String catalog_id="";
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if( localName.equals("LANGUAGE")||localName.equals("CATALOG_ID")||localName.equals("CURRENCY") ){
language = "LANGUAGE";
catalog_id="CATALOG_ID";
currency = "CURRENCY";
}else{
language="";
currency="";
catalog_id="";
}
} //startElement()
public void endElement(String namespaceURI, String localName, String qName) throws SAXException { } //endElement()
public void characters(char ch[], int start, int length) {
if( language.equals("LANGUAGE")||catalog_id.equals("CATALOG_ID")||currency.equals("CURRENCY")){
System.out.println(new String(ch , start, length)); //Hier die Ausgabe-methode }else{ }
} // characters(char[],int,int);
Hier die XML-Datei :
- <HEADER>
<GENERATOR_INFO>e-proCat 2.1, e-pro solutions GmbH, Stuttgart, email: e-procat@e-pro.de</GENERATOR_INFO>
- <CATALOG>
<LANGUAGE>deu</LANGUAGE>
<CATALOG_ID>Katalog 01</CATALOG_ID>
<CATALOG_VERSION>001.000</CATALOG_VERSION>
<CATALOG_NAME>ETIM-BMEcat-Katalog</CATALOG_NAME>
+ <DATETIME type="generation_date">
<DATE>2002-05-22</DATE>
</DATETIME>
<TERRITORY>DE</TERRITORY>
<CURRENCY>EUR</CURRENCY>
<MIME_ROOT>ETIM-Daten\\Multimedia</MIME_ROOT>
</CATALOG>
</HEADER>
PS. ich möchte die werte von den elementen <language>,<catalog_id> und <currency> in ein arry zwischen speichern und diese später mit einer anderen applikation(jdbc) in eine Datenbank speichern.
Danke sehr für ihre Hilfe.
Jonathan
-
Die Methode character() sammelt die Nutzdaten in einem StringBuffer
StringBuffer xmldata = new StringBuffer;
public void characters(char[] ch, int start, int length)
throws SAXException
{
xmldata = xmldata.append(ch, start, length);
}
... und beim Event endElement() stehen die Nutzdaten vollständig zur Verfügung und können verarbeitet werden.
Danach wird der StringBuffer wieder initialisiert.
public void endElement(String tagUri, String localName, String name)
throws SAXException
{
String data = xmldata.toString().trim();
if ("LANGUAGE".equals(localName)) {
// tu dies
}
else if ("CURRENCY".equals(localName)) {
// tu jenes
}
else if ("CATALOG_ID".equals(localName)) {
// tu das
}
else {
// mecker rum
handleUnknownTagname(localName);
}
// Datenbereich initialisieren
xmldata = new StringBuffer("");
}
Gruß - pho
Ähnliche Themen
-
mehrere werte aus datei einlesen und in einzelnen variablen speichern?
Von Sidahan im Forum JavaAntworten: 2Letzter Beitrag: 20.11.10, 21:09 -
Bestimmte Werte aus txt auslesen
Von Teilzeitphilosoph im Forum C/C++Antworten: 18Letzter Beitrag: 18.02.10, 15:11 -
Nur bestimmte Dateien einlesen
Von Elveon im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 23.10.08, 18:14 -
Variablen?! Bestimmte Werte auslesen (Foto).
Von Photocharts im Forum PHPAntworten: 7Letzter Beitrag: 03.12.06, 22:01 -
Aus DB Bestimmte werte auslesen
Von creativeheadz im Forum PHPAntworten: 11Letzter Beitrag: 02.02.06, 18:43





Zitieren
Login




