Tengo un archivo XML de la siguiente manera:JAVA element.getElementsByTagName Restringir a nivel superior
<rootNode>
<link>http://rootlink/</link>
<image>
<link>http://imagelink/</link>
<title>This is the title</title>
</image>
</rootNode>
El código Java XML utilizando DOM es el siguiente:
NodeList rootNodeList = element.getElementsByTagName("link");
Esto me dará toda la elementos de "enlace" que incluyen el nivel superior y el que está dentro del nodo de "imagen".
¿Hay alguna forma de obtener las etiquetas de "enlace" para rootNode en un nivel y no dos como en el caso del enlace de imagen? Es decir, solo quiero el http://rootlink/ "enlace".
Pensé en JDOM, pero he escrito un montón de código con DOM. Tengo que mirar el nivel de esfuerzo para convertir. ¿Pero no hay forma de hacerlo con DOM? – user152090
No creo que haya una manera conveniente de hacerlo. pero puede crear un método que reciba llamadas getChildNodes(), verifique el nombre de cada elemento, agregue los elementos a una nueva NodeList y luego devuelva NodeList. Use ese método donde sea que necesite obtener los niños nombrados. O muerde la bala y usa JDom, me resulta mucho más fácil de tratar. –
Gracias. Analizaré las diferentes soluciones sugeridas. Gracias por la rápida respuesta. – user152090