Help us understand the problem. What is going on with this article?

java DocumentBuilderのparse解析でハマったこと

More than 3 years have passed since last update.

javaでxmlを解析したいと思いまして、DocumentBuilderを使って以下のコードを書きました。
ネットでもよく見るコードなのですが、

// ドキュメントビルダーファクトリを生成
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
// ドキュメントビルダーを生成
DocumentBuilder builder = dbfactory.newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(xml.getBytes()));

xmlのデータはxml.getBytes()で正常に取得できていたので、
後はdocを解析して対象のタグを抽出するだけなのですが、
試しに、docそのものを出力したところコンソールにnullとの記載が。 :scream:

docに何も入っていないと勘違いしてしまい、builder.parseが正常に動作してないと疑ってしまいましたが、
実はdocの出力の仕方がまずかっただけで、正しくxmlをparseできていました。
Document docの後に、

Element root = doc.getDocumentElement();
NodeList list = root.getElementsByTagName("タグ名");
とすればxmlの解析情報が入っていました。

この事実にすぐに気がつけず無駄な時間を費やしてしまった。反省です。 :sweat_smile:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした