Este es el codigo que tengo para obtener información de un XML, del cual yo inserto la ruta, pero quisiera leer una carpeta que
puede contener n cantidad de xml
public class Interpretarxml {
public static void main (String[]args){
try{
DocumentBuilderFactory db= DocumentBuilderFactory.newInstance();
//Agilizar la lectura de arhivos grandes
db.setNamespaceAware(false);
db.setValidating(false);
db.setFeature("http://xml.org/sax/features/namespaces", false);
db.setFeature("http://xml.org/sax/features/validation", false);
db.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
db.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
//Constructor de Objetos
DocumentBuilder a= db.newDocumentBuilder();
//Ruta del Archivo
String archivo="C:\\Users\\carme\\OneDrive\\Escritorio\\Documentos\\NetBeansProjects\\Practicarxml\\src\\main\\java\\LeerXml\\1b254147-26f4-4ca9-8f85-3d5da753dc99.xml";
File f=new File(archivo);
//Objeto Documento XML
Document doc= a.parse(f);
doc.getDocumentElement().normalize();
XPath x= XPathFactory.newInstance().newXPath();
String Tras="/Comprobante/Impuestos/Traslados/Traslado";
NodeList n=(NodeList)x.compile(Tras).evaluate(doc,XPathConstants.NODESET);
System.out.println("Cantidad de elementos que empatan con la ruta " + n.getLength());
Element e= (Element)n.item(0);
System.out.println("Importe\t\t: " + e.getAttribute("Importe"));
System.out.println("TasaOCuota\t\t: " + e.getAttribute("TasaOCuota"));
System.out.println("TipoFactor\t\t: " + e.getAttribute("TipoFactor"));
System.out.println("Impuesto\t\t: " + e.getAttribute("Impuesto"));
String Con="/Comprobante/Conceptos/Concepto";
NodeList nodeC=(NodeList)x.compile(Con).evaluate(doc,XPathConstants.NODESET);
System.out.println("Cantidad de Conceptos de la Factura");
System.out.println(nodeC.getLength());
System.out.println( "" );
for (int i = 0; i < nodeC.getLength(); i++) {
Node nodo= nodeC.item(i);
if(nodo.getNodeType()==Node.ELEMENT_NODE){
Element s= (Element)nodo;
System.out.println("ClaveProdServ\t\t: " + s.getAttribute("ClaveProdServ"));
System.out.println("ClaveUnidad\t\t: " + s.getAttribute("ClaveUnidad"));
System.out.println("Descripciont\t\t: " + s.getAttribute("Descripcion"));
System.out.println("ValorUnitario\t\t: " + s.getAttribute("ValorUnitario"));
System.out.println("NoIdentificacion\t: " + s.getAttribute("NoIdentificacion"));
System.out.println("\n");
}
}