アプリ版:「スタンプのみでお礼する」機能のリリースについて

文字列として受け取ったxmlをDocumentオブジェクトに格納したいと考えて


DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(ファイルパス);

とすればファイルを取得してDocumentオブジェクトに入れることはできたのですが、ファイルパスではなくString文字列としてxmlを受け取った場合、どのようにすればDocumentオブジェクトに格納できるのかわかりません。

どのようにすればよろしいのでしょうか?

A 回答 (2件)

DocumentBuilder#parseは引数にInputStreamも使えます。


ということで、文字列をByteArrayInputStreamに突っ込めばOKです。
ただし文字列をgetBytesする際文字コードには注意してください。

ByteArrayInputStream stream = new ByteArrayInputeStream(string.getBytes());
Document doc = builder.parse(stream);
    • good
    • 0
この回答へのお礼

丁寧な解説ありがとうございました。
理解しやすかったです。

お礼日時:2007/05/24 07:58

こういうことでしょうか?



// import org.xml.sax.InputSource;
// import java.io.StringReader;

String content = "・・・XMLソース・・・";
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document saveDocument = builder.parse(new InputSource(new StringReader(content)));
    • good
    • 0
この回答へのお礼

InputSourceを使ってもできるのですね。

ありがとうございました

お礼日時:2007/05/24 07:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!