web-dev-qa-db-ja.com

XML形式の内容を持つ文字列をJDomドキュメントに変換する方法

XML形式のコンテンツを持つ文字列をJDomドキュメントに変換する方法。

私は以下のコードで試しています:

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

SAXBuilder sb= new SAXBuilder();

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

誰かが私が上記の問題を解決するのを手伝ってくれる?前もって感謝します!!

11
User_86

これは、一般的にxmlを解析してドキュメント化する方法です。

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();
}

これは JDOM IBMリファレンス から取得されます。

文字列がある場合は、それをInputStreamに変換してから渡すことができます

String exampleXML = "<your-xml-string>";
InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8"));
Document anotherDocument = builder.build(stream);

Builder.build()がサポートするさまざまな引数については、 api docs を実行できます。

16
AurA

これはFAQ実際のFAQよりもアクセスしやすい回答があります: 文字列からドキュメントを作成するにはどうすればよいですか?

だから、私は作成しました 問題#111

その価値については、以前にこの状況のエラーメッセージを改善しました( 前号#6 を参照してください。これで、次のようなエラーが発生するはずです。

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

9
rolfl