Мне нужно распечатать XML, который я манипулировал с помощью groovy и поддерживал порядок атрибутов. Мне все равно, использует ли он XmlParser/XmlNodePrinter или XmlSlurper/StreamingMarkupBuilder. Мой текущий код выглядит следующим образом:groovy - xml - сохранить порядок атрибутов
File file = new File('input.xml')
def root = new XmlSlurper().parse(file)
def admins = root.user.findAll {[email protected]().equals("admin")}
admins.each { admin ->
admin.permission.findAll { [email protected]().equals("RoleManagement")
}.each {
[email protected] = "AdminRoleManagement"
}
}
def smb = new StreamingMarkupBuilder().bind { mkp.yield root }
new File('output.xml').text = groovy.xml.XmlUtil.serialize(smb)
Вот XML, который получает закладывать в программу
<users>
<user username="test1234" role="admin">
<permission interface="com.test.RoleManagement" implementation="com.test.AdminRoleManagement"/>
<permission interface="com.test.UserAdministration" implementation="com.test.UserAdministrationImpl"/>
</user>
</users>
После того как я распечатать измененный файл, хотя, атрибуты интерфейса и реализации перепутаны.
Я уже знаю, о чем вы думаете: порядок атрибутов xml не имеет значения. Ну, мое требование от моего босса - сохранить порядок атрибутов b/c, который был таким образом на века. На самом деле я должен был написать этот парсер с помощью Java/DOM4J, и я пытался показать своей команде что-то новое. Любая помощь будет оценена по достоинству. Благодаря!
У вас есть пример xml, который вы можете вставить в вопрос, который показывает проблему? –
добавил образец xml - спасибо – jeff