![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
どなたか教えてください・・・。
import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import org.xml.sax.SAXException;
~途中略
xmlPath="test.xml";
DocumentBuilder docBld = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc=docBld.parse(xmlPath);
ここで、docの内容を見るとNULLになっています。
この後、
Element el = doc.getDocumentElement();
とすると、しっかりタグ名は取れるにも関わらず
値はNULLになってしまいます。
もちろん例外は何もスローされません。
何が起きているのかさっぱりです。
初めてパーサーにチャレンジしているということもあり、
見当もつかずに戸惑ってばかりです。
確認するところなどがあれば教えてください。
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> ここで、docの内容を見るとNULLになっています。
「doc の内容」って何?
getNodeValue() で取得したもの、ということでしょうか?
であれば、null なのは仕様通りです(→参考URL の Node のマニュアルを参照のこと)。
> この後、
> Element el = doc.getDocumentElement();
> とすると、しっかりタグ名は取れるにも関わらず
> 値はNULLになってしまいます。
ここでいう「値」も getNodeValue() で返ってくるもののことですね。
あなたが言う「内容」or「値」というのは、きっと「テキストノード」のことですね。
それは、Element の子供として、Text がぶら下がっており、その「値」が
あなたの欲しいものです(きっと)。
<TEST>テスト</TEST>
という内容の XML を DOM にするとどういうふうになるでしょうか?
ちょろっと書いてみましたので、動かしてみて。
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader("<TEST>てすと</TEST>")));
Element e = doc.getDocumentElement();
System.out.println(e.getNodeName());
System.out.println(e.getNodeValue());
Text tx = (Text)e.getFirstChild();
System.out.println(tx.getNodeName());
System.out.println(tx.getNodeValue());
参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/org/ …
a-kumaさん、
言葉足らずにも関わらず、解読していただきまして有難うございました。
Nullは正当なのですね。
頂いたソース、表示されました。
もっと勉強して、また色々悩んでいきたいと思います。
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- その他(プログラミング・Web制作) tkinterのimport文の書き方 2 2022/10/14 21:17
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
-
[JAVA]try 内の変数を外で!?
-
「続行するには何かキーを押し...
-
配列を後ろから数えるには?
-
エクセルマクロ文で、赤文字セ...
-
文字列の引き算
-
曜日の取得方法を教えて下さい!
-
Javaでカレントディレクトリを...
-
JAVA 三角形の判定
-
float型の桁調整について
-
半角英数字を判断したい
-
出力ストリームへの書き込みで...
-
データベースとのやり取り(サ...
-
JAVAで素数判定
-
VBS について
-
java教えてください。
-
EclipseでJava
-
JAVAのエラーの意味が分かりま...
-
Javaでファイル転送プログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
JAVAのDouble型の小数点以下の...
-
EclipseでJava
-
JAVA 文字色変更
-
改行の判定方法
-
ファイル名に変数を使う(Java)
-
曜日の取得方法を教えて下さい!
-
java シンボルが見つかりません...
-
JAVAのエラーの意味が分かりま...
-
Javaでカレントディレクトリを...
-
エクセルマクロ文で、赤文字セ...
-
LC発振回路-ループ利得
-
Javaのコマンドライン引数を使...
-
nullcline
-
「続行するには何かキーを押し...
-
会員情報登録プログラムの作成...
-
文字列の引き算
-
Javaのプログラムがどうしても...
おすすめ情報