에서 XML 속성 : -읽기 다중 노드 및 다음과 같이 내 XML은 자바
<myxml>
<resource name='book'>
<acl>
<ace person='bob' rights='rw' />
<ace person='john' rights='w' />
</acl>
</resource>
<resource name='dvd'>
<acl>
<ace person='bob' rights='w' />
</acl>
</resource>
</myxml>
나는 문제가이 XML 문서를 읽는 데.
다음은 내가 시도한 코드입니다.
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
Document document = documentBuilder.parse(new File(fileName));
Element rootElement = xmlDocument.getDocumentElement();
NodeList resourceList= rootElement.getElementsByTagName("resource");
for (int i = 0; i < resourceList.getLength(); i++) {
Node node = resourceList.item(i);
Element element = (Element) node;
String resourceName= element.getAttribute("name");
}
기본적으로 "이 책은이 사용자가 xyz 권한으로 사용할 수 있습니다."와 같이 인쇄하고 싶습니다.
String objectName= element.getAttribute("name")
으로 책의 이름을 알 수 있습니다. 이 후에 나는 갈 수 없어.
나는 자식 노드를 얻음으로써 시도했지만 null을 계속 얻는다.
제안 사항? 당신의 for
루프에서
NodeList aceList = element.getElementsByTagName("ace");
for(int j= 0; j < aceList.getLength(); j++){
Element ace = (Element) aceList.item(j);
String person = ace.getAttribute("person");
}
나는 XPath를보고 제안했다. –