2016-10-23 12 views
0

XMLを読むことに関してたくさんの記事を読んでいますが、ほぼすべてが完全な文書を読んでいて、それを印刷しています。XML:XML要素を直接取得する

しかし、私は、特定のコンテンツを取得したいと思います..ここ

<bookstore> 
<book category="cooking"> 
    <title lang="en">Everyday Italian</title> 
    <author>Giada De Laurentis</author> 
    <year>2005</year> 
    <price>30.00</price> 
</book> 
<book category="children"> 
    <title lang="es">Harry Potter and the Half-Blood Prince</title> 
    <author>J. K. Rowling</author> 
    <year>2005</year> 
    <price>29.99</price> 
</book> 

例として、子どもたち=カテゴリの作者= J.Kの内容を読み出す:ローリング。

これは可能ですか?はい、誰かのためにいくつかのコードがありますか?

おかげで実際

+0

修正するためにあなたのポストを修正してくださいまた、あなたの問題記述でもう少し明確になるようにしてください。そうでなければ、人々が理解するのは難しいです。 – user905686

+1

XPathで読む。これは、XML文書の照会に使用されます。 – kaqqao

+0

ありがとうございます。私は見てみましょう... –

答えて

1

は、XPathので、簡単にカテゴリ=「子供」の値の著者を検索することができます。

するソリューションをテストしましたが、あなたのアイデアを持っていない(私はXPATHでいくつかの簡単なクラス名としてあなたを導くためにいくつかのパッケージを前に付けているが、他のニーズに対処するために他のパッケージに存在する):

DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder builder = builderFactory.newDocumentBuilder(); 

    org.w3c.dom.Document document = builder.parse(yourXmlFile); 
    XPath xpath = XPathFactory.newInstance().newXPath(); 

    org.w3c.dom.Node authorNode= (Node) xpath.evaluate("//book[@category='children']/author", document, 
     XPathConstants.NODE); 
    String author= authorNode.getTextContent(); 
関連する問題