2013-03-05 9 views
8

XML形式の内容を持つ文字列をJDom文書に変換する方法を教えてください。XML形式の内容を持つ文字列をJDom文書に変換する方法

私は以下のコードをしようとしています:

String docString = txtEditor.getDocumentProvider().getDocument(
txtEditor.getEditorInput()).get(); 

SAXBuilder sb= new SAXBuilder(); 

doc = sb.build(new StringReader(docString)); 

は、いずれも問題の上解決するために私を助けることができます。 ありがとうございます!

答えて

11

これは、あなたが一般的にこれは、あなたがそれをするInputStream、その後

String exampleXML = "<your-xml-string>"; 
InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8")); 
Document anotherDocument = builder.build(stream); 
それを渡すように変換できる文字列を持っている場合は JDOM IBM Reference

から取られ

try { 
    SAXBuilder builder = new SAXBuilder(); 
    Document anotherDocument = builder.build(new File("/some/directory/sample.xml")); 
} catch(JDOMException e) { 
    e.printStackTrace(); 
} catch(NullPointerException e) { 
    e.printStackTrace(); 
} 

をドキュメントにXMLを解析する方法であります

builder.build()のさまざまな引数については、api docs

+0

お返事ありがとうございました。あなたが貼り付けたコードは、特定のパスで利用可能なファイルを使用して新しい文書を作成するためにうまく動作します。しかし、私の場合、XML形式のコンテンツを持つ文字列をDocumentに作成/変換する必要があります。 –

+0

@akhil_guptaあなたの必要条件を使って答えを更新しました – AurA

+0

はい、コードは正常に動作して、既存の.xmlファイルから新しい文書を作成します。しかし、ここで私はxmlファイルを持っていません。私はこの文字列(xml形式の内容を持つ)をいくつかの他の場所から取得しています。あなたが私のコードを見ることができるように:String docString = txtEditor.getDocumentProvider()。getDocument( txtEditor.getEditorInput())。get(); –

6

この実際のよくある質問よりも多くのアクセス答えていSHOLDよくある質問です:だからHow do I build a document from a String?

を、私はそれは価値がある何のためissue #111

を作成して、私は以前に(このような状況のためのエラーメッセージを改善していますthe previous issue #63を参照し、今あなたが言うエラーが必要です。

MalformedURLException mx = new MalformedURLException(
    "SAXBuilder.build(String) expects the String to be " + 
    "a systemID, but in this instance it appears to be " + 
    "actual XML data."); 

ボトムラインは、あなたが使用しなければならないということであるが:

Document parseddoc = new SaxBuilder().build(new StringReader(myxmlstring)); 

rolfl

+0

実際、私のコードは貼っても問題ないようです。私のコードのどこかに問題がありました。しかし、これを調べてくれてありがとう。 –

関連する問題