java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 23.05.2006, 09:12   #1 (permalink)
Benutzer
int
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Auslesen aller Attribute mit JDOM

Hallo zusammen

Ich möchte aus einem XML File die versciedenen Attribute auswählen. Leider kann ich immer nur das erste Attribut auslesen. Es hat weitere Elemente mit demselben Namen und bei diesem Element dann jeweils wieder ein Attribut mit demselben Namen.
Ich habe gesehen, dass man bei XPath mit diesem Zeichen [x] (x steht für ein Zahl), auf den jeweiligen Wert des Attributes zugreifen kann, wie ist dies mit JDOM möglich?

Besten Dank für Eure Hilfe....

Euer Java Light
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2006, 10:42   #2 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von byte
 
Registriert seit: 17.06.2005
Fachbeiträge: 4.593
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 23 Danke für 21 Beiträge
So sollte es gehn:

Code:
Document doc = ...;
Iterator i = doc.getRootElement().getDescendants();
while(i.hasNext()) {
  Element currentElement = (Element)i.next();
  Iterator j = currentElement.getAttributes().iterator();
  while(j.hasNext()) {
    Attribute currentAttribute = (Attribute)j.next();
    System.out.println(currentAttribute);
  }
}
byte ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2006, 13:04   #3 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Hallo byto

Ich verstehe dein Code nicht ganz, was ist ein Iterator und was machst Du damit? Wie ist es mit diesem Iterator möglich auf einzelne Tags zuzugreifen?

Besten Dank für Eure Hilfe

Java Light
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2006, 13:08   #4 (permalink)
Morlon
Nicht angemeldet
 
Fachbeiträge: n/a
Ein Iterator dient dazu eine Datenstruktur zu durchlaufen. Schau mal in der doc. da steht einiges dazu drin.
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2006, 17:11   #5 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Ich schnalle das ganze nicht, ich habe es versucht, bekomme aber ständig Fehlermeldungen.

Der Code den ich habe sieht folgendermassen aus:


Code:
	...		
                       Element interval = period.getChild("Interval");
			
			// Childs von interval auslesen
			Element position = interval.getChild("Pos");
			Element quantity = interval.getChild("Qty");


			String positionv = position.getAttributeValue ("v");
			String quantityv = quantity.getAttributeValue ("v");

...
Das XML sieht folgendermassen aus:

....

<Resolution v="PT15M"/>
-
<Interval>
<Pos v="1"/>
<Qty v="0"/>
</Interval>
-
<Interval>
<Pos v="2"/>
<Qty v="0"/>
</Interval>
-
<Interval>
<Pos v="3"/>
<Qty v="0.379"/>
</Interval>
-
<Interval>
<Pos v="4"/>
<Qty v="2.453"/>
</Interval>
-
<Interval>
<Pos v="5"/>
<Qty v="0"/>
</Interval>
-
<Interval>
<Pos v="6"/>
<Qty v="0"/>
</Interval>
-
<Interval>
<Pos v="7"/>
<Qty v="1.108"/>
</Interval>
-
<Interval>
<Pos v="8"/>
<Qty v="2.22"/>
</Interval>
-
<Interval>
<Pos v="9"/>
<Qty v="0"/>
</Interval>
-
<Interval>
<Pos v="10"/>
<Qty v="0.247"/>
</Interval>
-
<Interval>
<Pos v="11"/>
<Qty v="0.712"/>
</Interval>
-
<Interval>
<Pos v="12"/>
<Qty v="0.964"/>
</Interval>

....

Wie ist es nun möglich mit einem Iterator die Position von Qty von 1 -6 auszulesen? Ist das möglich und wie funktioniert es? Bitte helft mir....

Euer Java Light[/code]
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 07:35   #6 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Kann mir den niemand helfen? Ich bin am verzweifeln, wie funktionert das denn?

Grüsse

Java Light :###
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 07:38   #7 (permalink)
Stammbenutzer
Halbes Megabyte
 
Registriert seit: 18.03.2004
Fachbeiträge: 651
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Ich verstehe Dein Problem nicht.
byto hat doch erklärt, wie Du das machen kannst. Warum
probierst Du seinen Vorschlag denn nicht aus?

lr
__________________
Apache ServiceMix
lhein ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 09:03   #8 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Habe ich gemacht, nur leider werden mir dabei ständig Fehler ausgegeben. Sobald ich heute Mittag zuhause bin, werde ich den Code posten.

Schönen morgen noch...

Java Light
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 11:32   #9 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Hallo zusammen

Nun also mein Code:

Leider funktioniert er nicht. Es gibt folgende Fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jdom.ContentList$FilterList
at FahrplanXML.Saxwer.saxwer(Saxwer.java:134)
at FahrplanXML.italiendetail.italienoberflaeche(italiendetail.java:26)
at FahrplanXML.AuswahlMenu$4.actionPerformed(AuswahlMenu.java:106)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Der Code sieht wie folgt aus:

Code:
package FahrplanXML;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class Saxwer {
	
	//Variablendeklaration
	private File inFile; 
	
	
	
	//Konstruktor
	public Saxwer(File in) {
		this.inFile = in;	
	}
	
	
	//Weitergabe der Variablen durch return vorbereiten
	//public String getDtdVersion() {
		//System.out.println (scheduleDtdVersion);
		//return scheduleDtdVersion;	
		//}

	
	public void saxwer() throws JDOMException, IOException {

		//FileAuswahl filename = new FileAuswahl();

			
			System.out.println(inFile);
			
			SAXBuilder builder = new SAXBuilder();
			Document doc = builder.build(inFile);
			
			//**************//
			/*Elemente holen*/
			//**************//
			
			//1.Stufe
			//Root Element auslesen
			Element schedulemessage = doc.getRootElement();
			
			//2. Stufe
			//Childs von Root Element auslesen
			Element messageidentification = schedulemessage.getChild("MessageIdentification");
			Element messageversion = schedulemessage.getChild("MessageVersion");
			Element messagetype = schedulemessage.getChild("MessageType");
			Element processtype = schedulemessage.getChild("ProcessType");
			Element scheduleclassificationtype = schedulemessage.getChild("ScheduleClassificationType");
			Element senderidentification = schedulemessage.getChild("SenderIdentification");
			Element senderrole = schedulemessage.getChild("SenderRole");
			Element receiveridentification = schedulemessage.getChild("ReceiverIdentification");
			Element receiverrole = schedulemessage.getChild("ReceiverRole");
			Element messagedatetime = schedulemessage.getChild("MessageDateTime");
			Element scheduletimeinterval  = schedulemessage.getChild("ScheduleTimeInterval");
			Element scheduletimeseries  = schedulemessage.getChild("ScheduleTimeSeries");
			
			//3. Stufe
			// Childs von scheduletimeseries auslesen
			Element senderstimeseriesidentification = scheduletimeseries.getChild("SendersTimeSeriesIdentification");
			Element senderstimeseriesversion = scheduletimeseries.getChild("SendersTimeSeriesVersion");
			Element businesstype = scheduletimeseries.getChild("BusinessType");
			Element product = scheduletimeseries.getChild("Product");
			Element objectaggregation = scheduletimeseries.getChild("ObjectAggregation");
			Element outarea = scheduletimeseries.getChild("OutArea");
			Element outparty = scheduletimeseries.getChild("OutParty");
			Element measurementunit = scheduletimeseries.getChild("MeasurementUnit");
			Element period = scheduletimeseries.getChild("Period");
			
			//4. Stufe
			// Childs von period auslesen
			Element timeinterval = period.getChild("TimeInterval");
			Element resolution = period.getChild("Resolution");
			Element interval = period.getChild("Interval");
			
			//5. Stufe
			// Childs von interval auslesen
			Element position = interval.getChild("Pos");
			Element quantity = interval.getChild("Qty");
	
			
			//***************//
			/*Attribute holen*/
			//***************//
			
			//Attribute von Root Element (Stufe 1) auslesen (aus XML)
			String scheduleDtdVersion = schedulemessage.getAttributeValue ("DtdVersion");  
			String scheduleDtdRelease = schedulemessage.getAttributeValue ("DtdRelease");
			
			//Attribute aus Stufe 2 auslesen (aus XML)
			String messageidentificationv = messageidentification.getAttributeValue ("v");
			String messageversionv = messageversion.getAttributeValue ("v");
			String messagetypev = messagetype.getAttributeValue ("v");
			String processtypev = processtype.getAttributeValue ("v");
			String scheduleclassificationtypev = scheduleclassificationtype.getAttributeValue ("v");
			String senderidentificationv = senderidentification.getAttributeValue ("v");
			String senderidentificationcodingscheme = senderidentification.getAttributeValue ("codingScheme");
			String senderrolev = senderrole.getAttributeValue ("v");
			String receiveridentificationv = receiveridentification.getAttributeValue ("v");
			String receiveridentificationcodingscheme = receiveridentification.getAttributeValue ("codingScheme");
			String receiverrolev = receiverrole.getAttributeValue ("v");
			String messagedatetimev = messagedatetime.getAttributeValue ("v");
			String scheduletimeintervalv = scheduletimeinterval.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 3 auslesen (aus XML)
			String senderstimeseriesidentificationv = senderstimeseriesidentification.getAttributeValue ("v");
			String senderstimeseriesversionv = senderstimeseriesversion.getAttributeValue ("v");
			String businesstypev = businesstype.getAttributeValue ("v");
			String productv = product.getAttributeValue ("v");
			String objectaggregationv = objectaggregation.getAttributeValue ("v");
			String outareav = outarea.getAttributeValue ("v");
			String outareacodingscheme = outarea.getAttributeValue ("v");
			String outpartyv = outparty.getAttributeValue ("v");
			String outpartycodingscheme = outparty.getAttributeValue ("v");
			String measurementunitv = measurementunit.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 4 auslesen (aus XML)
			String timeintervalv = timeinterval.getAttributeValue ("v");
			String resolutionv = resolution.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 5 auslesen (aus XML)

			Iterator i = ((Document) interval.getChildren("Qty")).getDescendants();
			while(i.hasNext()) {
			  Element currentElement = (Element)i.next();
			  Iterator j = currentElement.getAttributes().iterator();
			  while(j.hasNext()) {
			    Attribute currentAttribute = ("v")j.next();
			    System.out.println("Attribute\t Name: "+currentAttribute.getName()+", Value: "+currentAttribute.getValue());
			  }
			}


			String positionv = position.getAttributeValue ("v");
			String quantityv = quantity.getAttributeValue ("v");

			
			Detailoberflaeche xmluebergabe = new Detailoberflaeche(scheduleDtdVersion, scheduleDtdRelease, messageidentificationv, messageversionv, messagetypev, processtypev, scheduleclassificationtypev, senderidentificationv, senderidentificationcodingscheme, senderrolev, receiveridentificationv, receiveridentificationcodingscheme, receiverrolev, messagedatetimev, scheduletimeintervalv, senderstimeseriesidentificationv, senderstimeseriesversionv, businesstypev, productv, objectaggregationv, outareav, outareacodingscheme, outpartyv, outpartycodingscheme, measurementunitv, timeintervalv, resolutionv, positionv, quantityv);
			xmluebergabe.grundoberflaechen();
			
	}
	
}
Kann mir dabei jemand helfen. Der Code hat funktioniert, bis ich den Iterator eingefügt habe. Besten Dank für Eure Hilfe...

Euer Java Light...
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 11:48   #10 (permalink)
Stammbenutzer
Halbes Megabyte
 
Registriert seit: 18.03.2004
Fachbeiträge: 651
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Watn datn?
Zitat:
Attribute currentAttribute = ("v")j.next();
Denke eher das müsste

Code:
Attribute currentAttribute = (Attribute)j.next();
heissen.
__________________
Apache ServiceMix
lhein ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2006, 12:23   #11 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von byte
 
Registriert seit: 17.06.2005
Fachbeiträge: 4.593
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 23 Danke für 21 Beiträge
Richtig. Und ausserdem ist Zeile 135 falsch. Statt...

Code:
Iterator i = ((Document) interval.getChildren("Qty")).getDescendants();
... meinst Du wohl eher sowas wie...

Code:
Iterator i = interval.getChildren("Qty").iterator();
byte ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 25.05.2006, 12:01   #12 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Hallo zusammen

Danke für Eure Antworten...
Ich habe eure Verbesserungen nun eingebaut. Es gibt nun keinen Fehler mehr, aber funktionieren tuts trotzdem nicht...
Es wird lediglich folgendes ausgegeben.

"Attribute Name: v, Value: 0"

Das Problem ist, er sollte mir ja etwa 96 Werte ausgeben...und zwar 96 Quantity Werte...aber wieso funzt das nicht?

Hier noch einmal der aktuelle code...

Code:
package FahrplanXML;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class Saxwer {
	
	//Variablendeklaration
	private File inFile; 
	
	
	
	//Konstruktor
	public Saxwer(File in) {
		this.inFile = in;	
	}
	
	
	//Weitergabe der Variablen durch return vorbereiten
	//public String getDtdVersion() {
		//System.out.println (scheduleDtdVersion);
		//return scheduleDtdVersion;	
		//}

	
	public void saxwer() throws JDOMException, IOException {

		//FileAuswahl filename = new FileAuswahl();

			
			System.out.println(inFile);
			
			SAXBuilder builder = new SAXBuilder();
			Document doc = builder.build(inFile);
			
			//**************//
			/*Elemente holen*/
			//**************//
			
			//1.Stufe
			//Root Element auslesen
			Element schedulemessage = doc.getRootElement();
			
			//2. Stufe
			//Childs von Root Element auslesen
			Element messageidentification = schedulemessage.getChild("MessageIdentification");
			Element messageversion = schedulemessage.getChild("MessageVersion");
			Element messagetype = schedulemessage.getChild("MessageType");
			Element processtype = schedulemessage.getChild("ProcessType");
			Element scheduleclassificationtype = schedulemessage.getChild("ScheduleClassificationType");
			Element senderidentification = schedulemessage.getChild("SenderIdentification");
			Element senderrole = schedulemessage.getChild("SenderRole");
			Element receiveridentification = schedulemessage.getChild("ReceiverIdentification");
			Element receiverrole = schedulemessage.getChild("ReceiverRole");
			Element messagedatetime = schedulemessage.getChild("MessageDateTime");
			Element scheduletimeinterval  = schedulemessage.getChild("ScheduleTimeInterval");
			Element scheduletimeseries  = schedulemessage.getChild("ScheduleTimeSeries");
			
			//3. Stufe
			// Childs von scheduletimeseries auslesen
			Element senderstimeseriesidentification = scheduletimeseries.getChild("SendersTimeSeriesIdentification");
			Element senderstimeseriesversion = scheduletimeseries.getChild("SendersTimeSeriesVersion");
			Element businesstype = scheduletimeseries.getChild("BusinessType");
			Element product = scheduletimeseries.getChild("Product");
			Element objectaggregation = scheduletimeseries.getChild("ObjectAggregation");
			Element outarea = scheduletimeseries.getChild("OutArea");
			Element outparty = scheduletimeseries.getChild("OutParty");
			Element measurementunit = scheduletimeseries.getChild("MeasurementUnit");
			Element period = scheduletimeseries.getChild("Period");
			
			//4. Stufe
			// Childs von period auslesen
			Element timeinterval = period.getChild("TimeInterval");
			Element resolution = period.getChild("Resolution");
			Element interval = period.getChild("Interval");
			
			//5. Stufe
			// Childs von interval auslesen
			Element position = interval.getChild("Pos");
			Element quantity = interval.getChild("Qty");
	
			
			//***************//
			/*Attribute holen*/
			//***************//
			
			//Attribute von Root Element (Stufe 1) auslesen (aus XML)
			String scheduleDtdVersion = schedulemessage.getAttributeValue ("DtdVersion");  
			String scheduleDtdRelease = schedulemessage.getAttributeValue ("DtdRelease");
			
			//Attribute aus Stufe 2 auslesen (aus XML)
			String messageidentificationv = messageidentification.getAttributeValue ("v");
			String messageversionv = messageversion.getAttributeValue ("v");
			String messagetypev = messagetype.getAttributeValue ("v");
			String processtypev = processtype.getAttributeValue ("v");
			String scheduleclassificationtypev = scheduleclassificationtype.getAttributeValue ("v");
			String senderidentificationv = senderidentification.getAttributeValue ("v");
			String senderidentificationcodingscheme = senderidentification.getAttributeValue ("codingScheme");
			String senderrolev = senderrole.getAttributeValue ("v");
			String receiveridentificationv = receiveridentification.getAttributeValue ("v");
			String receiveridentificationcodingscheme = receiveridentification.getAttributeValue ("codingScheme");
			String receiverrolev = receiverrole.getAttributeValue ("v");
			String messagedatetimev = messagedatetime.getAttributeValue ("v");
			String scheduletimeintervalv = scheduletimeinterval.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 3 auslesen (aus XML)
			String senderstimeseriesidentificationv = senderstimeseriesidentification.getAttributeValue ("v");
			String senderstimeseriesversionv = senderstimeseriesversion.getAttributeValue ("v");
			String businesstypev = businesstype.getAttributeValue ("v");
			String productv = product.getAttributeValue ("v");
			String objectaggregationv = objectaggregation.getAttributeValue ("v");
			String outareav = outarea.getAttributeValue ("v");
			String outareacodingscheme = outarea.getAttributeValue ("v");
			String outpartyv = outparty.getAttributeValue ("v");
			String outpartycodingscheme = outparty.getAttributeValue ("v");
			String measurementunitv = measurementunit.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 4 auslesen (aus XML)
			String timeintervalv = timeinterval.getAttributeValue ("v");
			String resolutionv = resolution.getAttributeValue ("v");
			
			
			//Attribute aus Stufe 5 auslesen (aus XML)

			Iterator i = interval.getChildren("Qty").iterator();
			while(i.hasNext()) {
			  Element currentElement = (Element)i.next();
			  Iterator j = currentElement.getAttributes().iterator();
			  while(j.hasNext()) {
				Attribute currentAttribute = (Attribute)j.next(); 
			    System.out.println("Attribute\t Name: "+currentAttribute.getName()+", Value: "+currentAttribute.getValue());
			  }
			}


			String positionv = position.getAttributeValue ("v");
			String quantityv = quantity.getAttributeValue ("v");

			
			Detailoberflaeche xmluebergabe = new Detailoberflaeche(scheduleDtdVersion, scheduleDtdRelease, messageidentificationv, messageversionv, messagetypev, processtypev, scheduleclassificationtypev, senderidentificationv, senderidentificationcodingscheme, senderrolev, receiveridentificationv, receiveridentificationcodingscheme, receiverrolev, messagedatetimev, scheduletimeintervalv, senderstimeseriesidentificationv, senderstimeseriesversionv, businesstypev, productv, objectaggregationv, outareav, outareacodingscheme, outpartyv, outpartycodingscheme, measurementunitv, timeintervalv, resolutionv, positionv, quantityv);
			xmluebergabe.grundoberflaechen();
			
	}
	
}
Besten Dank für eure Hilfe...

Grüsse Euer

Java Light
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 25.05.2006, 12:32   #13 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von byte
 
Registriert seit: 17.06.2005
Fachbeiträge: 4.593
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 23 Danke für 21 Beiträge
Du gibst nur die Attribute von einem Interval-Element aus...

Code:
Element interval = period.getChild("Interval");

...

Iterator i = interval.getChildren("Qty").iterator();
while(i.hasNext()) {
  Element currentElement = (Element)i.next();
  Iterator j = currentElement.getAttributes().iterator();
  while(j.hasNext()) {
    Attribute currentAttribute = (Attribute)j.next();
    System.out.println("Attribute\t Name: "+currentAttribute.getName()+", Value: "+currentAttribute.getValue());
  }
}
Du hast aber offensichtlich viele Interval-Elemente. Du musst also eine Ebene höher gehen, über alle Interval-Elemente iterieren und dort dann die entsprechenden Attribute ausgeben.
byte ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 25.05.2006, 13:44   #14 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Hallo byto

Ich versteh das nicht, jetzt habe ich das Ganze eine Ebene höher versucht, nun kommt gar keine Ausgabe mehr... Ich versteh dieses Iteratorzeugs anscheinend nicht recht!

Mein Code sieht nun wie folgt aus: (Nur Teilausschnitt)

Code:
			Iterator i = period.getChildren("Interval").iterator();
			while(i.hasNext()) {
			  Element currentElement = (Element)i.next();
			  Iterator j = currentElement.getAttributes().iterator();
			  while(j.hasNext()) {
				Attribute currentAttribute = (Attribute)j.next(); 
			    System.out.println("Attribute\t Name: "+currentAttribute.getName()+", Value: "+currentAttribute.getValue());
			  }
			}
Wieso funzt das nicht, ich verstehe das nicht...

Grüsse

Java Light in the dark...
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 25.05.2006, 15:52   #15 (permalink)
Benutzer
int
Themenstarter
 
Registriert seit: 17.05.2006
Fachbeiträge: 62
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Ich habe noch ein System.out.println nach Element currentElement = (Element)i.next(); eingefügt. Er bringt mir anschliessend folgende Antwort zurück:

org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4
org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4
org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4org.jdom.ContentList$FilterListIterator@1d520c4Hallo

Der String ist immer derselbe und wiederholt sich einige male. bedeutet dies das er mehrere gleiche Tags gefunden hat? Wie soll ich nun weiter vorgehen, dass ich das Problem lösen kann...

Danke für alles...

Euer Light
Java Light ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 25.05.2006, 17:01   #16 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Benutzerbild von byte
 
Registriert seit: 17.06.2005
Fachbeiträge: 4.593
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 23 Danke für 21 Beiträge
Du solltest Dich zunächst erstmal mit der Funktionsweise des Iterators auseinandersetzen. Entsprechende Kapitel findest Du in einem beliebigen Java-Grundlagenbuch.
byte ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JDOM erzeugt leere xmlns Attribute dirty-mg XML und Co. 4 28.10.2008 16:35
Auslesen aller verfügbaren Drucker-Schächte SvenK Allgemeine Java-Themen 3 07.02.2008 14:20
Attribute in Textfile auslesen insertcoin Allgemeine Java-Themen 13 12.09.2007 18:45
jdom outputter ohne attribute bernie XML und Co. 2 18.04.2007 08:18
XML-Attribute auslesen zco XML und Co. 0 10.03.2007 10:35


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de