XML 문서를 업데이트하는 데 XMLSlurper를 사용하는 데 문제가 있습니다. 대부분의 것들이 작동하지만 어떤 상황에서는 "찾기"가 방금 추가 한 노드 (appendNode)를 찾지 못합니다. 새로운 노드는 처리가 끝날 때 거기에 있지만 자식을 추가하는 도중에 발견되지 않습니다.XMLSlurper appendNode에 변경 사항이 표시되지 않습니다.
새 노드를 찾는 데 parseText 및/또는 StreaMarkupBuilder (아래 참조)를 다시 호출해야한다는 XMLSlurper에 관한 게시물을 발견했습니다. 정말?! 솔직히 확인해 봤으면 좋겠어.
다음은 코드 단편입니다. 노드가 방금 추가 되었더라도 "찾기"는 NoChild를 가져옵니다.
codeNode.appendNode {
'lab:vendorData'() {}
}
vendorNode = codeNode.children().find { it.name() == "vendorData" }
는 "appendNode의 doea 직접 slurped 문서를 수정할 수 없습니다. 편집이 적용된다"즉시 "문서가 StreamingMarkupBuilder을 사용하여 작성된 것입니다." http://markmail.org/message/5nmxbhwna7hr5zcq#query:related%3A5nmxbhwna7hr5zcq+page:1+mid:bkdesettsnfnieno+state:results
왜 새 노드를 찾을 수 없습니까?
메일 링리스트 게시물 대신 labDoc의 –