2017-05-25 13 views
0

値。エントリノード(以下のコード)からノードを取得できます。問題は、私はエントリノードの下に子ノード名が何か分からないです。エントリノードから始めて、値を見つけるまで掘り下げておく必要があります。メソッドgetChildNodeValue()を書きましたが、必要な出力が得られません。私は必要なものを印刷しますが、余分なものも印刷します。私はこのメソッドgetChildNodeValue()からcsvとして値を返す必要があります。ノードを取得するには、XML文書の解析は以下のように私はXML構造を持っている

入口ノード行き方:あなたは、単にそれがXMLおよびその逆にJavaオブジェクトを解析するXML解析のためにXStreamのライブラリを使用することができます

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
        InputSource is = new InputSource(); 
        is.setCharacterStream(new StringReader(attributesXML)); 

        Document doc = db.parse(is); 
        NodeList nodes = doc.getElementsByTagName("entry"); 
for (int i = 0; i < nodes.getLength(); i++) { 

       if(nodes.item(i).hasChildNodes()){ 

        getChildNodeValue(nodes.item(i)); 

       } 
} 


public static void getChildNodeValue(Node node) { 

    System.out.println("Start Node: "+node.getNodeName()); 

    NodeList nodeList = node.getChildNodes(); 
    for (int i = 0; i < nodeList.getLength(); i++) { 
     Node currentNode = nodeList.item(i); 

     while(currentNode.hasChildNodes()){ 

      System.out.println("Current Node: "+currentNode.getNodeName()); 

      nodeList = currentNode.getChildNodes(); 

      for(int j=0;j<nodeList.getLength();j++){ 

       currentNode = nodeList.item(j); 
       System.out.println("Node name: "+currentNode.getNodeName()); 
       System.out.println("Node value: "+currentNode.getTextContent()); 

      } 

     } 

    } 
} 
+0

コードの書式設定にもっと力を入れてください。現時点ではどこにでもあり、読むのが難しいです。投稿する前に常にプレビューを見て、あなたが答えるために良い質問を見つけようとしているかどうかを確認したい投稿*かどうかを尋ねます。 –

+0

@ジョン、私はそれをフォーマットします。ありがとう... –

答えて

関連する問題