내 응용 프로그램에서 DOM 구문 분석기를 사용합니다. 그래서. 나는 다음 상황이 있습니다DOM 파서를 사용하여 태그 값을 가져 오는 방법 (해결됨)
XML :
<test>
<A>
<B>hello</B>
world
</A>
</test>
코드 :
private TagA parseTagA(Node node) {
TagA tagA = new TagA();
if (node.hasChildNodes()) {
NodeList childList = node.getChildNodes();
for (int i = 0; i < childList.getLength(); i++) {
// gets child
Node child = childList.item(i);
// parse <B> tag
if (child != null && "B".equals(child.getNodeName())) {
tagA.setTagB(parseTagB(child));
}
}
}
String tagABody = node.getTextContent();
tagA.setBody(tagABody);
return tagA;
}
나는 태그 A의 값을 가져 node.getTextContent() 메소드를 사용하지만, 나도 태그 B의 값을 얻을 . 나는 "tagabody"의 가치가 "안녕하세요 세상"이지만 "세상"이어야한다는 것을 의미합니다. getNodeValue() 메소드는 노드 타입이 ELEMENT_NODE이기 때문에 null을 반환합니다. 어쨌든 나는 질문이있다 : 나는 단지 "세계"라는 태그 A의 가치만을 얻을 수 있는가? 감사.
를 A 노드는 두 아이, B 노드와 텍스트 노드가 있습니다. 루프의 노드 유형을 테스트하거나 텍스트 노드의 노드 이름을 #text로 지정할 수 있습니다. –