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"); } }


上一篇:
下一篇:
切换中文