Outil d'analyse XML : JAXB : générez des classes Java, automatisez la conversion XML et d'objets. DOM : API pour accéder et manipuler XML, offrant un contrôle granulaire. SAX : analyseur événementiel, performant mais difficile à contrôler. StAX : un analyseur basé sur des flux qui combine le meilleur de SAX et DOM.
Outils d'analyse XML dans la bibliothèque Java
Java fournit une variété de boîtes à outils pour l'analyse XML afin de lire, écrire et modifier des documents XML. Les éléments suivants sont les plus couramment utilisés :
1. JAXB (Java Schema Binding XML)
Exemple de code :
// 生成 Java 类 JAXBContext context = JAXBContext.newInstance(Customer.class); SchemaOutputResolver outputResolver = new SchemaOutputResolver() { @Override public Result createOutput(String namespaceUri, String suggestedFileName) { return new StreamResult(new File("customer.xsd")); } }; context.generateSchema(outputResolver); // 绑定 XML 文档到 Java 对象 Unmarshaller unmarshaller = context.createUnmarshaller(); Customer customer = (Customer) unmarshaller.unmarshal(new File("customer.xml"));
2. DOM (Document Object Model)
Exemple de code :
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new File("document.xml")); NodeList nodes = document.getElementsByTagName("name");
3. SAX (Simple API for XML)
Exemple de code :
XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setContentHandler(new MyContentHandler()); reader.parse(new InputSource(new File("document.xml"))); class MyContentHandler implements ContentHandler { @Override public void startElement(String uri, String localName, String qName, Attributes atts) { /* ... */ } @Override public void characters(char[] ch, int start, int length) { /* ... */ } // ...其他方法 }
4. StAX (Stream API pour XML)
Exemple de code :
XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader reader = factory.createXMLStreamReader(new File("document.xml")); while (reader.hasNext()) { switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: System.out.println(reader.getLocalName()); break; case XMLStreamConstants.CHARACTERS: System.out.println(reader.getText()); break; // ...其他事件 } reader.next(); }
Choisissez l'outil d'analyse approprié en fonction de vos besoins spécifiques. Pour les transformations automatisées et la liaison de données, JAXB est un bon choix. Pour un contrôle plus fin des documents, DOM peut être plus adapté. SAX et StAX offrent de meilleures performances mais nécessitent des compétences en programmation plus avancées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!