Foros del Web » Programación para mayores de 30 ;) » Java »

Sacar la informacion de un XML

Estas en el tema de Sacar la informacion de un XML en el foro de Java en Foros del Web. Estoy intentando sacar la informacion de un XML para manipularla como un string, el XML que manipulo tiene una forma mas o menos asi: <root> ...
  #1 (permalink)  
Antiguo 20/05/2004, 10:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 95
Antigüedad: 20 años, 8 meses
Puntos: 0
Sacar la informacion de un XML

Estoy intentando sacar la informacion de un XML para manipularla como un string, el XML que manipulo tiene una forma mas o menos asi:

<root>
<sms>
<tel>xxxxxxx</tel>
<op>yyyyyyy</op>
<sc>zzzzzzzz</sc>
</sms>
</root>


Estoy implementando un codigo usando el JAXP en JAVA para intentar manipular estos datos, lo que quiero obtener es "xxxxx", "yyyyyy" y "zzzzzzz" como 3 strings para luego manipularlos a mi anotojo, pero....no se como moverme dentro de un XML usando el JAXP. Aparte de eso, en mis inicios con este API, intente imprimir aunque sea la lista de nodos que puede tener cada subnivel, con el siguiente codigo:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
import java.io.IOException;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.*;



public class XMLReader {
public static void main(String[] args) throws Exception {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder parser = factory.newDocumentBuilder();
Document d = parser.parse(new File("C:/salida.xml"));
Element e = d.getDocumentElement();
//Element e1 = d.getElementsByTagName("*");
//BufferedReader lector = new BufferedReader(new InputStreamReader (e.getElementsByTagName("sms")));
//String lectura = lector.toString();
System.out.println(e.toString());
}
catch (Exception e) {
e.printStackTrace();
}
}
}

Lo que me devuelve esto es [root: null], o sea, me dice que el nivel de root esta vacio, entiendo que sea asi porque lo que contiene es un subnivel pero no contiene ningun dato, ahora, como hago para moverme en subniveles????
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.