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 중국어 웹사이트의 기타 관련 기사를 참조하세요!