W3C DOM을 사용하여 트리를 업데이트하는 방법을 찾고 있습니다. 나는 아래와 같이 너비 우선 탐색을 할 생각을 해봤지만 그 자리 교체를 어떻게하는지 생각할 수는 없습니까?Java에서 DOM 요소를 검색하고 바꿉니다.
import org.w3c.dom.Node;
private Element tree;
public void searchReplace(Node x, Node y){
Queue<Node> q = new LinkedList<Node>();
q.add(tree);
while (!q.isEmpty()) {
Node current = q.remove();
if (current == x){
// do replacement
}
NodeList children = current.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
q.add(children.item(i));
}
}
}
나는 그 값이 아닌 노드 이름을 대체하는 데에만 관심이 있습니다.
이것은 Java 6에서 특히 중요하며, Java 8에서 null 대신 빈 문자열을 사용하면 Java 6은 메시지 내에서 HIERARCHY_REQUEST_ERR과 함께 org.w3c.dom.DOMException을 발생시킵니다 –