# Alle namespaces ins Root Element hinauf ziehen



## Niki (12. Aug 2011)

Hallo!

Weiß jemand ob es eine einfache Möglichkeit gibt, alle vorkommenden Namespaces innerhalb eines XMLs ins root Element zu bekommen?
Ich hab sozusagen so ein XML:

```
<reply:root xmlns:reply="reply-uri">
  <child xmlns="child-uri" xmlns:sns="sns-uri">
    <sns:child />
  </child>
</reply:root>
```

und würde gerne daraus folgendes machen:


```
<reply:root xmlns:reply="reply-uri" xmlns:chi="child-uri" xmlns:sns="sns-uri">
  <chi:child>
    <sns:child />
  </chi:child>
</reply:root>
```


----------



## RySa (12. Aug 2011)

Die Datei mittels JDOM laden, suchen bei welchen Elementen ein namespace vorkommt(da gibt es glaube ich get namespace, oder du nimmst den ganzen Namen und splittest bei : ), Duplikate entfernen, die gespeicherten namespaces als Attribute zu dem root-element hinzufügen - fertig

EDIT: Also irgendwie hast du zuerst <child> und dann willst du plötzlich <chi:child> haben, außerdemm willst du als Ergebnis beim root Element das namespace xmlns:chi=.... haben, obwohl in der Datei, "chi" nirgendswo vorkommt...Etwas genauer vielleicht ? Gehst es dir um die nameSpaces die bei den Elementnamen verwendet werden ? außerdem sehe ich irgendwie zum ersten mal, dass bei childElementen die namespaces angegeben werden (als Attribute) - aber das kann vielleicht auf meine, doch noch kleine Erfahrung mit xml deuten.


----------



## Niki (16. Aug 2011)

Danke für die Antwort, ich werd es rekursiv machen indem ich alle Namespaces sammle, duplikate entferne und ins root Element hinzufüge. Sollte klappen


----------

