Hola, apenas empiezo con esto de XML; necesitaba "leer" un XML por lo que supe que deberia usar un parser XML; lo primero que encontre es que XERCES me lo permite; decidí usar DOM.
Ahora que empiezo a entender un poco más me encuentro que hay algo que se llama JAXP; estpy empezando a ver de que se trata; Bueno, lo que no entiendo por el momento es la linea que esta en negrita ¿Que es lo que estoy haciendo?
No entienfo que es un Factory ni que es o por que es necesario poner el DocumentBuilderFactoryImpl
¿En donde es que se logra la independencia de parser XML gracias a JAXP?, Por ejemplo si ya no uso XERCES y uso alguno de ORACLE
Si kito esa linea aun asi funciona y segun entiendo usa el ParserDOm definido por default por SUN ?¿?¿¿?
Les agradezco su ayuda
System.setProperty("javax.xml.parsers.DocumentBuil derFactory","org.apache.xerces.jaxp.DocumentBuilde rFactoryImpl");
try{
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(false);
DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
Document doc = domBuilder.parse("supportticket.xml");
NodeList nodos = doc.getElementsByTagName("mail");
System.out.println("NO. de nodos " + nodos.getLength() );
}catch(ParserConfigurationException pcex){
System.out.println("ParserConfigurationException " + pcex.getMessage());
}catch(SAXException saxe){
System.out.println("ParserConfigurationException " +saxe.getMessage());
}catch(IOException ioe){
System.out.println("ParserConfigurationException " +ioe.getMessage());
}
Originalmente para XERCES usaba:
DOMParser parser = new DOMParser();
parser.parse("supportticket.xml");
Document doc = parser.getDocument();
.........