2013-05-29 3 views
1

때때로 나는 XML이 :모든 자식 요소는 네임 스페이스 URI를 무시하기

<resource 
    xsi:schemaLocation="http://www.test.com/resource http://test.com/schema/resource 
    xmlns="http://www.test.com/resource" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
... 
</resource> 

하고 때로는 어떻게 resource의 모든 자식 요소를 가져 만드는/

<resource> 
... 
</resource> 

즉, 네임 스페이스 URI를 O를 w 없음 네임 스페이스 URI를 중요시합니까?

nu.xom.Builder parser = new nu.xom.Builder(); 
return parser.build(new ByteArrayInputStream(xmlString.getBytes())); 
+1

어떻게 현재 파일을 파싱하지 않을 경우 모든 <resource> 요소를 찾기? – Djon

+0

업데이트 설명 – Yanko

답변

0

당신은 <resource>이 루트 요소인지 여부를 표시하지 않은 : 나는 요소를 처리 할 수 ​​nu.xom.Element를 사용하고

은 내가 nu.xom.Document이 방법을 구축 할 수 있습니다. 그렇다면 그것은 찾기가 쉽지 않습니다. 직접

Nodes resourceNodes = yourDoc.query("//*[local-name()='resource']"); 
for (int i = 0; i < resourceNodes .size(); i++) { 
    Element resource = (Element) resourceNodes .get(i); 
    Elements childElements = resource.getChildElements(); 
    // .. etc 
} 

나 :

Nodes resourceChildren = yourDoc.query("//*[local-name()='resource']/*"); 
관련 문제