elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problem con XML
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problem con XML  (Leído 1,568 veces)
Codename!!


Desconectado Desconectado

Mensajes: 883



Ver Perfil
Problem con XML
« en: 25 Marzo 2013, 12:07 pm »

Hola chicos! estoy intentando parsear bien este archivo "xml" y lo entrecomillo porque dentro tiene un bonito XMI que fastidia un poquito.

Tengo este XML:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:language1="language1">
  <language1:Number id="PI">
    <has value="3"/>
    <has value="1"/>
    <has value="4"/>
  </language1:Number>
  <language1:Number id="888">
    <has value="88"/>
  </language1:Number>
</xmi:XMI>

La idea es obtener los valores de los "has" de cada "language1:Number" pero sin usar una referencia a el, es decir que me saque los hijos o los elementos (me lio)  de los dos language1:Number.

Tengo este método:
Código:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();

Document doc = db.parse(new FileInputStream(new File(
"C:\\model.language1")));

NodeList entries = doc.getElementsByTagName("language1:Number");

for( int i = 0;  i< entries. getLength(); i++ )
{
// se extrae el nodo
Node empleado = entries.item(i);
System.out.println(empleado.getNodeName());
   //se valida que nodo sea del tipo element_node
Element elemento = (Element) empleado;
todosLosAtributos(elemento);
}
Código:
	public void todosLosAtributos(Element element) {
System.out.println("List attributes for node: " + element.getNodeName());
NamedNodeMap attributes = element.getAttributes();
int numAttrs = attributes.getLength();
for (int i = 0; i < numAttrs; i++) {
Attr attr = (Attr) attributes.item(i);
String attrName = attr.getNodeName();
String attrValue = attr.getNodeValue();
System.out.println("Found attribute: " + attrName + " with value: "
+ attrValue);
}
}

Pero la salida es esta, es como si no detectara los elementos internos..
Código:
language1:Number
List attributes for node: language1:Number
Found attribute: id with value: PI
language1:Number
List attributes for node: language1:Number
Found attribute: id with value: 888
------------------------------------


En línea

No te dejes mover por las masas, se tu mismo.




Codename!!


Desconectado Desconectado

Mensajes: 883



Ver Perfil
Re: Problem con XML
« Respuesta #1 en: 25 Marzo 2013, 19:42 pm »

Obtuve la solución!

Para el que este en algo parecido, la solución esta en empezar a tirar de getChildren() y de ahí empiezas a sacar del que tenga cosas!


En línea

No te dejes mover por las masas, se tu mismo.




Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problem con V Dub
Multimedia
Nillo 8 2,864 Último mensaje 6 Marzo 2005, 04:39 am
por vanO
problem
Diseño Gráfico
jumago 1 1,731 Último mensaje 27 Agosto 2005, 01:58 am
por + enrique ZP
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines