2011-06-30 31 views
5

Tôi muốn đổi tên nút XML hiện có thành tên mới. Tôi đang làm phân tích XML bằng cách sử dụng DOM khái niệm java, tôi đã thiết lập các nút có chứa cùng một tên. ví dụ:Cách đổi tên tên nút XML

<names> 
    <abc>Apple</abc> 
    <abc>Ball</abc> 
    <abc>Cat</abc> 
    <abc>Doll</abc> 
    <abc>Elephant</abc> 
    </names> 

Tôi ví dụ trên có tập hợp các nút chứa giá trị. trong ví dụ đó, tôi muốn thay đổi giá trị nút (ví dụ)

<names> 
    <name>Apple</name> 
    <name>Ball</name> 
    <name>Cat</name> 
    <name>Doll</name> 
    <name>Elephant</name> 
    </names> 

có thể thực hiện trong DOM, tôi có khá nhiều khái niệm phân tích cú pháp mới sử dụng DOM .. Cảm ơn các nhận xét có giá trị.

Trả lời

10

Tương tự như câu trả lời của tôi trong updating a property of a xml tag:

public void changeTagName(Document doc, String tag, String fromTag, String toTag) { 
    NodeList nodes = doc.getElementsByTagName(fromTag); 
    for (int i = 0; i < nodes.getLength(); i++) { 
     if (nodes.item(i) instanceof Element) { 
      Element elem = (Element)nodes.item(i); 
      doc.renameNode(elem, elem.getNamespaceURI(), toTag); 
     } 
    } 
} 
+0

doc.renameNode không hoạt động ... là có bất kỳ thay thế .. ?? – RAAAAM

+2

renameNode() là những gì bạn đang tìm kiếm. Tài liệu của bạn có không gian tên không? Điều đó có thể làm phức tạp mọi thứ. –

Các vấn đề liên quan