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????