2017-03-27 3 views
0

私はNodeSet data;を持っていますが、私はNodeSet data;を持っています:data.toXMLString();これですべてのXMLが問題なくなります。しかし、私はdata.toXMLString();を解析して、すべての情報をツリーにプッシュしたいと思います。 stackoverflow/openclassroomなどで多くのフォーラムや会話を見ていましたが、XMLがファイルであるたびに、それは私のものとはうまく動作しません。この時JAVA、NodeSetをXMLにパースしてツリーにプッシュします

java.net.MalformedURLException

:私は私のサーバーを起動したとき、私はこのエラーを持っているので、私はそれを終了しない

private void getData(NodeSet data){ 
      final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
      try{ 
       final DocumentBuilder builder = factory.newDocumentBuilder(); 
       final Document document = builder.parse(data.toXMLString()); 
       final Element racine = document.getDocumentElement(); 
       System.out.print(racine.getNodeName()); 

       final NodeList racineNoeuds = racine.getChildNodes(); 
       final int nbRacineNoeuds = racineNoeuds.getLength(); 
       for(int i = 0; i < nbRacineNoeuds; i++){ 
        if(racineNoeuds.item(i).getNodeType() == Node.ELEMENT_NODE) { 
         final Element child = (Element) racineNoeuds.item(i); 
        } 
       } 
      } catch (final ParserConfigurationException e){ 
       e.printStackTrace(); 
      } catch (final SAXException e){ 
       e.printStackTrace(); 
      } catch (final IOException e){ 
       e.printStackTrace(); 
      } 
      tree.addItem(data.toXMLString()); 
     } 

を:ここで私はやって始めたものを行:final Document document = builder.parse(data.toXMLString());

あなたは何か考えている場合。 ありがとうございます。

答えて

1

builder.parse(...)の使用が間違っています。 javadocによれば、文字列を引数として渡すと、ドキュメントを取得するためのURLを指定することを意味します。

メソッドに渡す前にStringをInputStreamに変換する必要があります。 this postの方法を参照してください。

+0

ありがとうございました!それは今働く^^ –

関連する問題