Tôi có một file XML như sau:JAVA element.getElementsByTagName Restrict để Top Level
<rootNode>
<link>http://rootlink/</link>
<image>
<link>http://imagelink/</link>
<title>This is the title</title>
</image>
</rootNode>
Mã Java XML sử dụng DOM được như sau:
NodeList rootNodeList = element.getElementsByTagName("link");
này sẽ cho tôi tất cả các các yếu tố "liên kết" bao gồm cấp cao nhất và phần tử bên trong nút "hình ảnh".
Có cách nào để chỉ nhận thẻ "liên kết" cho rootNode trong một cấp và không phải hai thẻ chẳng hạn như trường hợp của liên kết hình ảnh không? Đó là, tôi chỉ muốn liên kết "http://rootlink/".
Tôi đã nghĩ về JDOM, nhưng tôi đã viết rất nhiều mã với DOM. Tôi phải nhìn vào mức độ nỗ lực để chuyển đổi. Nhưng không có cách nào để làm điều đó với DOM? – user152090
Tôi không nghĩ rằng có một cách thuận tiện để làm điều đó. nhưng bạn có thể tạo một phương thức nhận các cuộc gọi getChildNodes(), kiểm tra tên của mỗi mục, thêm các mục vào một NodeList mới, sau đó trả về NodeList. Sử dụng phương pháp đó bất cứ nơi nào bạn cần để có được trẻ em được đặt tên. Hoặc cắn viên đạn và sử dụng JDom, tôi thấy nó dễ dàng hơn nhiều để giải quyết. –
Cảm ơn bạn. Tôi sẽ xem xét các giải pháp khác nhau được đề xuất. Cảm ơn đã phản ứng nhanh chóng. – user152090