Java를 사용하여 XML 문서를 구문 분석하는 데 가장 일반적으로 사용되는 두 가지 방법은 SAX라는 이벤트 기반 XML Simple API(Simple API for XML)와 트리 및 노드 기반 문서 객체 모델(Document Object Module)을 사용하는 것입니다. DOM이라고 합니다.
Sun은 SAX 및 DOM을 사용할 수 있도록 JAXP(Java API for XML Parsing) 인터페이스를 제공합니다. JAXP를 통해 모든 JAXP 호환 XML 파서를 사용할 수 있습니다. JAXP 인터페이스에는 세 가지 패키지가 포함되어 있습니다.
org.w3c.dom XML 표준 계획 문서 개체 모델에 대해 W3C에서 권장하는 인터페이스입니다.
org.xml.sax XML 구문 분석을 위한 이벤트 중심 XML 단순 API(SAX)
javax.xml.parsers 파서 팩토리 도구인 프로그래머는 특별한 특수 파서를 얻고 구성합니다.
java XML 파서
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomParse { public DomParse(){ DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance(); try { DocumentBuilder dombuilder=domfac.newDocumentBuilder(); InputStream is=new FileInputStream("WebRoot/WEB-INF/hell.xml"); Document doc=dombuilder.parse(is); Element root=doc.getDocumentElement(); NodeList books=root.getChildNodes(); if(books!=null){ for(int i=0;i<books.getLength();i++){ Node book=books.item(i); if(book.getNodeType()==Node.ELEMENT_NODE){ String email=book.getAttributes().getNamedItem("email").getNodeValue(); System.out.println(email); for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){ if(node.getNodeType()==Node.ELEMENT_NODE){ if(node.getNodeName().equals("name")){ String name=node.getNodeValue(); String name1=node.getFirstChild().getNodeValue(); System.out.println(name); System.out.println(name1); } if(node.getNodeName().equals("price")){ String price=node.getFirstChild().getNodeValue(); System.out.println(price); } } } } } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new DomParse(); } }
위 내용은 Java에서 XML 파일을 구문 분석하는 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!