19. Dezember 200816 j Hallo, ich möchte ein xml-File mit DOM einlesen. Das XML-File hat folgendes (Beispielshaftes) aussehen. <?xml version="1.0" encoding="UTF-8"?> <filepattern test="test" name="test" pattern="test" "> </filepattern> <filepattern test2="test2" name="test2" pattern="test2" </filepattern> Wenn ich nun den File wie folgft einlesen will bekomme ich immer eine Fehlermeldung: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Passed in key must select exactly one node: filepattern //einlesen des xml-files XMLConfiguration baseConfig = Utils.getConfig(fileName); HierarchicalConfiguration localConfig = baseConfig .configurationAt("filepattern"); Gibt es eine Möglickeit auf die verschiedenen Einträge im XML-File mit dem gleichen Namen ("Filepattern") zuzugreifen? Vielen Dank Gruß steve
19. Dezember 200816 j Ein Root-Element in deinem XML-File würde dir schonmal helfen. Z.B. <?xml version="1.0" encoding="UTF-8"?> <filepatterns> <filepattern test="test" name="test" pattern="test" "> </filepattern> <filepattern test2="test2" name="test2" pattern="test2" </filepattern> </filepatterns> Du könntest dir dann also das Node "filepatterns" raussuchen und anschließend alle Child-Elemente, welche dann ja deine FilePatterns sein würden.
20. Dezember 200816 j Also die Frage ist, ob das wirklich sinnvoll ist alle Attribute gleich zu benennen? und wie Faustenator schon sagt ein rootelement wäre ganz hilfreich, dsa einlesen ist kein problem, da sind die namen völlig egal. Nur ob es auch sinnvoll ist, ist die Frage. Du solltest dir einfach ne NodeList erstellen und dann kannst du mit .getNextChild() oder .getNextSibling den DOM Baum abarbeiten.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.