XML 解析ツール: JAXB: Java クラスを生成し、XML とオブジェクトの変換を自動化します。 DOM: XML にアクセスして操作し、きめ細かい制御を提供する API。 SAX: イベント駆動型パーサー、高性能ですが制御が困難です。 StAX: SAX と DOM の長所を組み合わせたストリームベースのパーサー。
Java 関数ライブラリの XML 解析ツール
Java は、読み取り、書き込み、変更を容易にする XML 解析用のさまざまなツールキットを提供します。 XML ドキュメント。最も一般的に使用されるのは次のとおりです:
1. JAXB (Java Schema Binding XML)
コード例:
// 生成 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 (ドキュメント オブジェクト モデル)
コード例:
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)
コード例:
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 (XML 用ストリーミング API)
コード例:
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(); }
特定のニーズに基づいて、適切な解析ツールを選択してください。自動変換とデータ バインディングには、JAXB が適しています。より詳細なドキュメント制御には、DOM の方が適している場合があります。 SAX と StAX はより優れたパフォーマンスを提供しますが、より高度なプログラミング スキルが必要です。
以上がJava 関数ライブラリで一般的に使用される XML 解析ツールは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。