# XML Namespace ignorieren



## Xenon (23. Feb 2011)

Hallo Forum,

ich sitze seit Tagen an einem Problem, wo ich nicht weiterkomme.
Ich muss eine XML-Datei parsen, in der ein vordefinierter Namensraum existiert.
Beispiel:


```
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fa2fp xmlns="http://xxx.com/1099/abc.dat.fa2fp" xmlns:ns2="http://www.w3.org/1025/11/xmldsig#" isEncrypted="false" version="05.02.00">
    <ssExamp created="23aa" date="2011-02-22" kategorie="Kat1" zeit="11:44:38">
    </ssExamp>
</fa2fp>
```

Wenn ich "xmlns="http://xxx.com/1099/abc.dat.fa2fp" xmlns:ns2="http://www.w3.org/1025/11/xmldsig#" " weglasse, und die Kategorie auslese mit:


```
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(datei); 
Element el= (Element) XPath.selectSingleNode(doc, "//fa2fp/ssExamp");
String s = el.getAttributeValue("kategorie");
```

gibt es den gewünschten Wert, also "Kat1" zurück, jedoch wenn es beibehalten wird, gibt es "null" zurück. Wahrscheinlich kann er die Schemadatei nicht finden. Ich weiß es auch nicht ganz genau woran das liegt. 
Die XML-Datei darf auf jeden Fall nicht geändert werden. Weiß vielleicht jemand von euch, wie man den Namespace, bzw. xmlns  UND xmlns:ns2 ignorieren kann?


----------



## Noctarius (23. Feb 2011)

Schau dir mal den NamespaceFilter an den einer da vorstellt: java - JAXB: How to ignore namespace during unmarshalling XML document? - Stack Overflow


----------



## eRaaaa (23. Feb 2011)

Probiere mal

```
XPath xpath = XPath.newInstance("//ns:fa2fp/ns:ssExamp");
		xpath.addNamespace(Namespace.getNamespace("ns","http://xxx.com/1099/abc.dat.fa2fp"));
		Element el= (Element) xpath.selectSingleNode(doc);
```


----------

