ホームページ >バックエンド開発 >XML/RSS チュートリアル >Java で XML ファイルを解析するコード例

Java で XML ファイルを解析するコード例

Y2J
Y2Jオリジナル
2017-04-27 13:19:242495ブラウズ

Java を使用して XML ドキュメントを解析するには、最も一般的に使用される 2 つの方法があります。SAX と呼ばれるイベントベースの XML シンプル API (Simple API for XML) を使用する方法と、SAX と呼ばれるツリーおよびノー​​ドベースのドキュメント オブジェクト モデル (ドキュメント オブジェクト モジュール) を使用する方法です。ドム。

Sun は、SAX および DOM を使用するための Java API for XML Parsing (JAXP) インターフェースを提供しており、JAXP を通じて、JAXP 互換の XML パーサーを使用できます。 JAXP インターフェースには 3 つのパッケージが含まれています:

org.w3c.dom W3C が XML 標準計画文書オブジェクト・モデルとして推奨するインターフェース。

org.xml.sax XML を解析するためのイベント駆動型 XML Simple 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。