2013-09-18 2 views
0

Чтение xml из плоского файла и разбор его с помощью XmlSlurper. Вот как XML-файл похожGroovy: перемещение пустого xml

<ClientInformation> 
<ContractClientVO> 
<AssignmentReasonCT></AssignmentReasonCT> 
<Associated></Associated> 
<AuthorizedSignatureCT></AuthorizedSignatureCT> 
<ClassCT></ClassCT> 
<RelationshipToInsuredCT></RelationshipToInsuredCT> 
<RelationshipToEmployeeCT></RelationshipToEmployeeCT> 
<ClientRoleVO> 
    <AgentFK></AgentFK> 
    <Associated></Associated> 
    <RoleTypeCT></RoleTypeCT> 
    <ClientDetailVO> 
    <address></address> 
    <city></city> 
    <state></state> 
    <Amount></Amount> 
    </ClientDetailVO> 
</ClientRoleVO> 
</ContractClientVO> 
</ClientInformation> 

XmlSlurper читает отлично и печатает документ XML. Но он не перемещается по элементам XML.

def xml = new XmlSlurper().parseText(file) 
println XmlUtil.serialize(xml) //outputs fine on console 
println xml.ClientInformation.size() //outputs 0 
+0

Исправлен xml для вас. – dmahapatro

ответ

1

в вашем примере (как только вы исправить XML, чтобы быть действительным), переменная xml представляет корневой узел документа ClientInformation

Так вызывающему:

xml.ClientInformation 

возвращает ничего (как это ClientInformation не имеет ребенка, называемого ClientInformation)

Чтобы получить количество детей корня тег документа, вы должны просто сделать:

println xml.size() 
+0

К тому времени, как я закончу свой кофе, вы переместили мой сыр ...: P – dmahapatro

+0

Не волнуйтесь. Работа над большой частью Xml Transformation и я новичок в groovy. –

+0

@HimanshuYadav Один маленький кусок предложения, вы можете найти свой вопрос в SO, тогда вы можете опубликовать его, если вы не найдете никакого решения. Бьюсь об заклад, вы найдете ответ Тима. ;) – dmahapatro

Смежные вопросы