XML-Attribute vergleichen

ahunzs

Mitglied
Hallo zusammen!

Ich arbeite momentan mit XML und SAX. Mein Auftrag lautet, mit der Hilfe von SAX einige Elemente auszulesen und in der Konsole auszugeben. hier ein Ausschnitt aus dem XML- File:
[XML=221]
<dax:productPropertyDefinition name="fqCode" saleRelevance="false" use="singleOptional">
<dax:label lang="ALL">1. FQ-Code</dax:label>
</dax:productPropertyDefinition>
<dax:productPropertyDefinition name="destination" saleRelevance="true" use="singleRequired">
<dax:label lang="GER">Bestimmung</dax:label>
<dax:label lang="FRA">destination</dax:label>
<dax:label lang="ITA">destinazione</dax:label>
</dax:productPropertyDefinition>
<dax:productPropertyDefinition name="origin" saleRelevance="true" use="singleRequired">
<dax:label lang="GER">Abgang</dax:label>
<dax:label lang="FRA">départ</dax:label>
<dax:label lang="ITA">partenza</dax:label>
</dax:productPropertyDefinition>
[/XML]

Nun möchte ich gerne wissen, wie ich das Attribut "name" ausgeben lassen kann. Und zwar nur dann, wenn der Wert des Attributes "destination" und/oder "origin" ist.

Ich hoffe, ihr könnt mir helfen. Hier ist noch die startElement-Methode der Java Klasse von mir.

[JAVA=35]
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if (qName.equals("dax:articleId")) {
// System.out.print("<" + atts);
for (int index = 0; index < atts.getLength(); index++) {
System.out.println(atts.getLocalName(index) + " " + atts.getValue(index));
}
if (qName.equals("dax:productPropertyDefinition")) {
if (atts.getValue(0) == "origin") {
System.out.println(atts.getLocalName(0) + " " + atts.getValue(0));
}
}
}
}[/code]

Irgendwo mache ich einen groben Denkfehler. Ich habe im Moment ein Brett vor dem Kopf. Aber ich bin auch sonst nicht so der JAVA-Crack :noe:

Gruss
Ahunzs
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
Strings vergleicht man mit equals, wie du es in anderen Zeilen auch korrekt hast..

gib auch atts.getValue(0) aus, wer weiß ob das das ist was du brauchst,
 

ahunzs

Mitglied
zuerst einmal, vielen Dank für die Antwort. Leider funktioniert das Ganze noch nicht so wie gewollt.
bisher erzeugt die Ausführung des Programms folgende Ausgabe:

Code:
tariffCode 011
id 361
tariffCode 011
id 125
tariffCode 011
id 8244
tariffCode 011
id 5510
tariffCode 011
id 8242
tariffCode 011
id 4557
tariffCode 011
id 1865
tariffCode 011
id 1872
tariffCode 011
id 30
...

Und das Ausgeben von atts.getValue(0) ist ja in der Zeile 43 auch vorhanden.

Gruss
Ahunzs
 
S

SlaterB

Gast
> Und das Ausgeben von atts.getValue(0) ist ja in der Zeile 43 auch vorhanden.

erst wenn das if erfüllt ist, was doch offensichtlich dein Problem ist?
schaue dir VOR dem Vergleich an WAS du da überhaupt vergleichst

edit:
in Zeile 39 hast du ja anscheinend auch eine Ausgabe der Attribute,
alles sieht wenig nach dem geposteten XML aus, oder siehst du durch?

fange mit einem einfach aufgebauten XML an, gib auch localName aus usw.,
bevor es an Attribute geht wäre es schon günstig zu wissen wo man im Baum ist
 
Zuletzt bearbeitet von einem Moderator:

ahunzs

Mitglied
Nun hat es Funktioniert. Ich musste wirklich einfach nur den Code folgendermassen anpassen!

Java:
    public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {

        if (qName.equals("dax:articleId")) {
            for (int index = 0; index < atts.getLength(); index++) {
                System.out.println(atts.getLocalName(index) + " " + atts.getValue(index));
            }
        }

        if (qName.equals("dax:productPropertyDefinition")) {
            if (atts.getValue(0).equals("destination")||atts.getValue(0).equals("origin")) {
                System.out.println(atts.getLocalName(0) + " " + atts.getValue(0));
                System.out.println("Typ: ZONEBASED");
                System.out.println("_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-");
            }
        }
    }

Danke für deine Hilfe! :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
L Transformer verschluckt Attribute bei der Ausgabe XML & JSON 3
W XML einlesen und Attribute auslesen XML & JSON 1
D Attribute aus XML Auslesen XML & JSON 5
P Xpath zugriff auf Attribute XML & JSON 3
R cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'. XML & JSON 4
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
F EMF, XSD to ECore mapping, Attribute vs. Element XML & JSON 2
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
G JAXB XML-Attribute feststellen XML & JSON 4
2 wie komme ich an die Attribute XML & JSON 3
S Attribute von Elementen auslesen mit XPath XML & JSON 2
B 2 Attribute in einer xsl XML & JSON 2
M Gegenseitig ausschließende Attribute definieren in XSD XML & JSON 7
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
eQuest XML Jaxen Attribute auslesen XML & JSON 2
C Mit SAX Parser XML Attribute auswerten XML & JSON 3
H XML Attribute auslesen XML & JSON 5
S JAXB und viele verschachtelte Attribute XML & JSON 1
G xquery - nodes unterscheiden sich nur durch attribute :-( XML & JSON 4
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
E EMF Modell um alle möglichen Attribute auszulesen XML & JSON 12
S XSD: restriction und attribute gleichzeitig XML & JSON 4
V XMLEncoder: Attribute nicht serialisieren XML & JSON 2
D Wie kann ich Namespace Attribute in den Elementen entfernen? XML & JSON 2
M Attribute parsen XML & JSON 6
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
B jdom outputter ohne attribute XML & JSON 2
G Wie Attribute aus XML in ein Model schreiben (StAX)? XML & JSON 7
P Knoten-Attribute einer xsd-Datei in einem JTree auslesen XML & JSON 18
M attribute funken nicht XML & JSON 3
R Jtree + Attribute XML & JSON 6
Z DOM: Attribute in Knoten schreiben XML & JSON 2
S Vergleichen von 2 XML Dateien XML & JSON 2
D [anders geregelt] XML-Dokument vergleichen mit spez. Regeln XML & JSON 5
M zwei XML Streams vergleichen XML & JSON 4
F XMLs - vergleichen XML & JSON 6
M xml-datei mit dtd vergleichen XML & JSON 10

Ähnliche Java Themen

Neue Themen


Oben