Bestimmten Wert aus einer XML Auslesen

Nicer

Bekanntes Mitglied
Hi !

Ich habe folgendes Problem : Ich lade eine XML Datei aus dem Internet Herunter und möchte nun bestimmte einträge in dieser XML Datei Auslesen. Die Datei liegt fertig heruntergeladen auf meinem PC!

Ich weiß das wird hier bestimmt oft gefragt , ich hab gesucht aber leider nix für mich verständliches / funktionales gefunden.

Hoffe ihr könnt mir da helfen. Ich habe schon von JDOM usw gelesen aber ich hab das nicht verstanden und / oder die dort angegeben Beispiele haben nicht funktioniert und ich war noch verwirrter.

Hoffe IHR könnt mir nun weiterhelfen.
 
Zuletzt bearbeitet:

Nicer

Bekanntes Mitglied
Danke , kannstu mir vllt deine ICQ Nummer oder ähnliches per PM schicken dass du mir das mal erklären kannst , bin eher der java Anfänger und will nu nich das Forum flooden. Und der Chat der seite hier funtzt bei mir leider nicht.
 

Noctarius

Top Contributor
Kannst ruhig das Forum flooden :D

Ich kann dir auch ein lauffähiges Beispiel dafür machen. zeig mal etwas von dem XML Code und sag mal genau welche Werte du da brauchst und vor allem wie du später auf diese Werte zugreifen möchtest (z.B. als Liste).
 

Nicer

Bekanntes Mitglied
Oki :)

Also , mein vorhaben ist dassich mir für Technobase.fm einen Trackviewer bauen will. Technobase stellt folgende XML mit allen nötigen Infos zur verfügung : Link

Die XML lade ich runter usw das passt alles , sie liegt auf "C:/Technobasexml.xml".

Aus der möchte ich nun die Folgenden Werte auslesen und in jeweils ein eigenes string setzen :

Name , Moderator , Show , Style , Artist , Song , Listener.

Ich möchte mir das dann Später in eine GUI Einbauen die dass dann in Labeln oder Textfeldern anzeigt ( bin noch am überlegen ).

Wäre nice wenndu mir da n Code schreiben könntest.
 

Nicer

Bekanntes Mitglied
Wie kannich dass dann in mein programm integrieren ? am allerliebsten wäre mir natürlich eine Klasse , von denen ich dann diese Strings abrufen kann , so könnte ich sie mit meinem Kenntnisstand sehr easy integrieren :)
 

Noctarius

Top Contributor
So in der Art war das gedacht. Eine Liste mit Inhalt vom Typ TrackInfo oder sowas wo du dann an die Informationen kommst. Ich schau gleich mal :D
 

Nicer

Bekanntes Mitglied
TrackInfo ? ^^ noch nie gehört , steht aber bestimmt im "Java ist auch eine Insel 8" drinne ^^ gleich mal lesen :)

Hauptsache ich kann das nacher per Knopfdruck bzw Timer die ganzen Werte in Labels einsetzen kann.

Am Liebsten wäre mir eine Klasse "XMLReader" die die sache ausliest und sie dann als ein Objekt zur verfügung stellt. Dann würde ich das gerne einfach per getter methode da raushohlen können ^^
 

Nicer

Bekanntes Mitglied
Ja das wäre ja nochmal besser , dann brauchich nich extra n objekt erstellen , und kann das gleich von der klasse abrufen oder was ? COOL , auch wennich iwann mal gelernt habe dass alles was man auf einer klasse aufruft nich OOP ist ( glaubich ).

dann bräuchte die klasse halt noch eine "refresh" methode die die daten aus der XML neu abruft.
 

Nicer

Bekanntes Mitglied
Okey , dann vielen dank , du kannst dich ja wenndu @home bist mal bei mir im ICQ melden , ich schreib dir me PM mit meiner UIN :)

Edit : Ich bin nu mal offline bis ca 20:30 hoffe bis dahin hastu was gebastelt :)

Das nächste problem dass aufkommt : ich bräuchte einen "Timer" , der die methode "refresh" alle 20 sekunden aufruft.
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Da bitte, komplette Lib zum direkten benutzen :) XmlParser liegt in Version 1.0.0 bei. Das Timerproblem hat ja hier mit nichts zu tun ;)
 

Anhänge

  • com.example.xmlparser.zip
    42,9 KB · Aufrufe: 14

Nicer

Bekanntes Mitglied
Ich hab nu meine Refresher Methode die folgendermaßen aussieht :

Java:
private void refresh() throws Exception {
		name.setText("Radiostream :" + " " /* + name */);
		moderator.setText("Moderator :" + " " /* + moderator */);
		show.setText("Show :" + " " /* + show */);
		style.setText("Style :" + " " /* + style */);
		artist.setText("Artist :" + " " /* + artist */);
		song.setText("Song :" + " " /* +song */);
		listener.setText("Listener :" + " " /* + listener */);

	}

Was mussich da nu reinpacken ? Will NUR das Technobase Radio haben :)

*verwirrt ist*
 
Zuletzt bearbeitet:

Nicer

Bekanntes Mitglied
Falls du die "HowToUse.java" meinst...naja daraus kannich nur schliessen dassdu das alles in einen Vector Container wirfst und darüber Itarierst...

aber wie genau ich nu an meine werte komme keine ahnung , bitte um ausführliche erklärung für Dummys :)

Bin mal essen , gegen 21:30 wieder da.
 

Noctarius

Top Contributor
Dann schaust du dir eben die Klasse TrackInfo an und dann sollte es klar sein. Ein wenig Mitdenken muss man als Programmierer schon :D Und so riesig ist die Klasse jetzt nicht.

Java:
package com.example.xmlparser;

public class TrackInfo {
	private final String name;
	private final String moderator;
	private final String show;
	private final String style;
	private final String artist;
	private final String song;
	private final int listener;

	public TrackInfo(String name, String moderator, String show, String style,
			String artist, String song, int listener) {
		this.name = name;
		this.moderator = moderator;
		this.show = show;
		this.style = style;
		this.artist = artist;
		this.song = song;
		this.listener = listener;
	}

	public String getName() {
		return name;
	}

	public String getModerator() {
		return moderator;
	}

	public String getShow() {
		return show;
	}

	public String getStyle() {
		return style;
	}

	public String getArtist() {
		return artist;
	}

	public String getSong() {
		return song;
	}

	public int getListener() {
		return listener;
	}

	@Override
	public String toString() {
		return "TrackInfo [artist=" + artist + ", listener=" + listener
				+ ", moderator=" + moderator + ", name=" + name + ", show="
				+ show + ", song=" + song + ", style=" + style + "]";
	}
	
}
 

Nicer

Bekanntes Mitglied
MAN binnich dumm , ich versuch auch die ganze zeit die werte direkt auf der klasse abzurufen anstatt auf dem Objekt ^^

Habs nu , Vielen dank :)

Ich kann die einzelnen Strings gaaanz einfach abrufen ÜBER :

Java:
TechnobaseUtility.getActualTracklist("http://tray.technobase.fm/radio.xml").get(0).getArtist()
usw ^^

nu gibts noch ein problem

im eclipse beim Ausführen geht alles

ABER

wennich das programm dann zu ner .jar compile werden die werte nich angezeigt ...


EDIT : hat sich erledigt ^^ ich hatte keine Runnable Jar sondern eine Jar gemacht -.-^^

Typischer FLüchtigkeitsfehler :)

Vielen Dank :)
 
Zuletzt bearbeitet:

kinglui

Aktives Mitglied
Hallo,
kann dein Tool auch Parameter auslesen, wenn man nur einen XML String hat?
Also zB.
Code:
<Users>
<User id="USERID" Language="en" Action="Update">
<name> name </name>
</User>
<User id="USERID" Language="en" Action="Update">
<name> name </name>
</User>
</Users>

ich würde jetzt gerne 2 Objekte vom Typ User erzeugen und per setter den "namen" und die "user id" zuweisen.
Ginge das mit deinem Tool?

danke
 

kinglui

Aktives Mitglied
Dein Tool ist doch der Parser, oder hab ich was falsch verstanden?
ich schau mich mal am Beispiel schlau!

danke
 
Zuletzt bearbeitet:

kinglui

Aktives Mitglied
Vielen dank.
das läuft (bisher).


Wie kann ich allerdings einen Parameter auslesen?
also nicht <bla> inhalt </bla> sondern <bla name="parameter" ...>
?

Könntest du mir da nen Tippchen geben, oder hast du schon was Vorgefertigtes?

Danke
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Kein Problem :p
Nur zur Information für mich selber (zur API Optimierung): Ist die Dokumentation der Methoden verständlich und die API an sich klar gegliedert? :)
 

kinglui

Aktives Mitglied
Um ehrlich zu sein, war dein Beispiel von der Vorseite so gut, dass ich die Doku garnicht brauchte.
Aber ich werde morgen mal drüber hinweg fliegen und dir Feedback geben!

Ciao
 

Noctarius

Top Contributor
Das das Beispiel gut war ist doch auch schon mal was :) Hast du den 2.0 Dev-Zweig genommen oder noch den 1.0 von hier aus dem Projekt?
 

kinglui

Aktives Mitglied
hi,

also ich hab das gesamte Zipfile aus dem o.g. Thread genommen. Also schätze ich mal wars die 1.0er oder? (btw. auf der Projektseite habe ich auch nur die 1.9er Version gefunden).


Obwohl die Doku extrem ausführlich ist, muss ich leider auch gleichzeitig die Komplexität bemängeln.
Mir wäre um ehrlich zu sein eine etwas "sprachliche" (selbstredende) Doku lieber, als das ganze technische.

Aber das ist vielleicht auch nur meine Meinung:)

CIao
 

Noctarius

Top Contributor
Nein auf Dauer wird eine richtige textliche Dokumentation kommen, nur ich bin immer so ein kleiner Doku-Muffel und musste mich schon zu dem JavaDoc Zeug zwingen ;)
Genau im Zip war noch die Version 1.0, 1.9 bzw 2.0 ist noch in der Entwicklung und wird dann auch eine größere Dokumentation erhalten. Zusätzlich macht 2.0 einige Dinge einfacher und bringt trotzdem mehr Möglichkeiten mit die entsprechenden Tags zu definieren (z.B. per XPath Expression).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
wofus JSON filtern nach bestimmten Wert XML & JSON 7
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
G xslt Attributwerte von bestimmten Elementen XML & JSON 2
L SAXReader , auslesen bis zum bestimmten knoten! XML & JSON 3
P HTML Seite Parsen, und bestimmten Text extrahieren XML & JSON 3
C suche bestimmten Knoten mit bestimmten attribut XML & JSON 8
A Element an einer bestimmten Stelle einfügen (nicht am Ende) XML & JSON 4
H XMLConfiguration(1.10)/getString : Wert "E" aus <version type="Auto">E</version>n lesen XML & JSON 15
L JAXB - Generischen Wert mit Liste belegen XML & JSON 1
Landei JAXB: Wert von übergeordneten Element XML & JSON 4
J wert IN einem tag einlesen/schreiben XML & JSON 4
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
M Jaxb Annotationen, Wert als XML Element XML & JSON 2
M input-wert an servlet übergeben XML & JSON 3
M XSL/XPath - Nur ersten Wert mit selben Attribut XML & JSON 4
W Erzeugen einer openapi spec via swagger XML & JSON 1
W Erzeugen einer Handlerklasse zum Abfangen von SOAP-Requests XML & JSON 13
D Innerhalb einer Property auf eine andere verlinken? XML & JSON 3
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
M Layout + Inhalt einer JTable speichern XML & JSON 30
J Welche Gründe führen zu einer endlos tiefen XML? XML & JSON 4
T Pfad in einer Variablen speichern XML & JSON 1
E Wie kann ich ein XSD-Schema in einer JSP-Seite verwenden? XML & JSON 7
T Visualisierung von XML Dateien in einer Java SwingGui XML & JSON 11
R XSD in einer choice mehrmals das selbe element möglich XML & JSON 5
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
F Parsen von Daten aus einer Homepage XML & JSON 6
B XML aus einer URL im Internet lesen (JDOM) XML & JSON 4
D Aus lesen einer XML-Datei ( 1 root, 3 childs) XML & JSON 7
B SAX-Parser - Dokumente einlesen und in einer Map ablegen XML & JSON 2
B 2 Attribute in einer xsl XML & JSON 2
T Inhalt einer .xml Datei auf Javaoberfläche wiedergeben XML & JSON 4
T Schreiben einer XML XML & JSON 8
B XML auf Basis einer DTD erstellen XML & JSON 2
hdi Probleme beim Erstellen einer XML XML & JSON 7
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
sylo Mehrere XSDs und mehrere Namensräume in einer XML unterbringen? XML & JSON 2
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
J xmlencoder Zustände einer Bean schreiben XML & JSON 3
S Probleme beim erstellen einer Jar XML & JSON 12
J Problem mit compile einer XSD XML & JSON 3
S Einlesen einer xml Datei XML & JSON 4
F hilfe bei einer aufgabe XML & JSON 3
D Anzahl der Knoten in einer XML XML & JSON 6
R Parsen einer XML ohne Validierung XML & JSON 2
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
M Xerces -Parsen mit einer externen Schemadatei geht nicht XML & JSON 2
cybermat Ergebnis einer XSLT-Tansformation als Rückgabewert erhalten XML & JSON 4
J Fehler beim laden einer .xml XML & JSON 3
ven000m Übungsaufgabe: Valide und gültige XML Datei zu einer DTD XML & JSON 7
A Auslesen einer XML Datei XML & JSON 58
P OutOfMemoryError beim Einlesen einer XML-Datei XML & JSON 7
P Knoten-Attribute einer xsd-Datei in einem JTree auslesen XML & JSON 18
T Einfach nur die Elemente einer XML Datei auslesen :( XML & JSON 10
Z Erzeugung einer Referenz von Knoten in JTree auf DOMTree XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben