import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.SAXException;
import java.io.IOException;
public class XMLParser {
private DOMParser parser;
public XMLParser() {
this.parser = new DOMParser();
}
public void parseXML(String xmlFilePath) {
try {
parser.parse(xmlFilePath);
e.printStackTrace();
}
}
}
import org.apache.xerces.util.NamespaceSupport;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
public class XMLNamespaceParser {
private NamespaceSupport namespaceSupport;
private Document document;
public XMLNamespaceParser() {
this.namespaceSupport = new NamespaceSupport();
}
public void parseXML(String xmlFilePath) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(xmlFilePath);
processNamespaceDeclarations(document.getDocumentElement());
e.printStackTrace();
}
}
private void processNamespaceDeclarations(Node node) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
namespaceSupport.pushContext();
namespaceSupport.declarePrefixes(node.getAttributes());
}
NodeList children = node.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
processNamespaceDeclarations(children.item(i));
}
if (node.getNodeType() == Node.ELEMENT_NODE) {
namespaceSupport.popContext();
}
}
}
public class Main {
public static void main(String[] args) {
XMLNamespaceParser parser = new XMLNamespaceParser();
parser.parseXML("path/to/xml/file.xml");
}
}