# Problem beim Auslesen von Attributen



## Robson (3. Nov 2004)

Hallo,

Mein Problem ist folgendes:

Ich lese eine XML Datein ein:

```
FileInputStream inputstream = null;
		try {
			inputstream = new FileInputStream("c:/test.xml");
		} catch (FileNotFoundException e4) {
			e4.printStackTrace();
		}
```

mit DOM lese ich nun das Attribute "Name" aus. Wenn ich mir mit nem System.out das Attribute dan anzeigen lasse steht es auch richtig da.


```
Document XMLdoc = null;
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = null;

		try {
			builder = factory.newDocumentBuilder();
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		}

		try {
			XMLdoc = builder.parse(inputstream);
		} catch (SAXException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		}

		Element mess = (Element) XMLdoc.getElementsByTagName("REQUEST").item(0);
		String aname = mess.getAttribute("Name");
		TransformerFactory tFactory = TransformerFactory.newInstance();
		Transformer transformer = null;

		try {
			transformer = tFactory.newTransformer();
		} catch (TransformerConfigurationException e2) {
			e2.printStackTrace();
		}

		DOMSource source = new DOMSource(XMLdoc);
		StringWriter resultStringBuffer = new StringWriter();

		try {
			transformer.transform(source, new StreamResult(resultStringBuffer));
		} catch (TransformerException e3) {
			e3.printStackTrace();
		}

		String result = resultStringBuffer.toString();
		
		System.out.println(aname);
```

in der Variablen aname steht "Mapping1" alles ok.

nun möchte ich diesen Wert vergleichen.  Und er soll ausgeben "OK" wenn "Mapping1 drin steht oder "Fehler" wenn nicht.
So hab ich es gemacht:


```
if (aname == "Mapping1")
			aname = "OK";
		
			else
			aname = "Fehler";
		
		System.out.println(aname);
```

Er sagt mir nun immer "Fehler" weil angeblich aname nicht = "Mapping1" ist . Aber das ist es.
Jemand ne Idee?

Gruss Robson


----------



## Roar (3. Nov 2004)

aname ist != "Mapping".
http://www.java-forum.org/de/viewtopic.php?t=1528


----------



## Robsonn (4. Nov 2004)

Thx ... jetzt viel es mir wie Schuppen aus den Haaren.

Eine weitere Frage:

Wie kann ich XSL Mappings in mein Programm laden und anwenden ?
Ich will es so machen das er das Attribute ausliest, und jenachdem was da steht soll er ein bestimmtes Mapping laden.

Da zufällig auch jemand ne Idee ? das Attribute ausgelesen hab ich schon ... nur weis ich nicht so recht wie man XSL Mapping einliest und anwendet


----------



## virgie (23. Feb 2006)

nur mal ein einwurf...es ist sträflich und falsch Strings mit dem == Operator zu vergleichen...dabei wird nicht der inhalt des strings verglichen, sondern die speicheradresse der strings...also vollkommen falsch

richtig ist es so
if (aname.equals("Mapping1")) 

niemals:
if (aname == "Mapping1")


----------



## virgie (23. Feb 2006)

ups...vergessen aufm link zu klicken


----------

