![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下のindex.xmlのようなXML文書があるとして、Javaプログラム
で<Title></Title>の中身を抜き出したいのですが、うまく取り
出せません。
【index.xml】
<?xml version='1.0' encoding='UTF-8' ?>
<?xml-stylesheet type="text/xsl" href="../../../_sys/style.xsl"?>
<RDF xmlns:r="○○"
xmlns:d="○○"
xmlns:s="○○"
xmlns="○○">
<ExternalPage about="http://www.pref.iwate.jp/~hp0920/">
<d:Title><s:char code="39">'</s:char>99岩手総体</d:Title>
</ExternalPage>
</RDF>
【ソース】
public class Example {
public static void main(String[] args) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("index.xml"));
Element root = doc.getDocumentElement();
NodeList ExternalPageLst = root.getElementsByTagName("ExternalPage");
for (int j=0; j < ExternalPageLst.getLength() ; j++) {
Element ExternalPageEle = (Element)ExternalPageLst.item(j);
NodeList TitleLst = ExternalPageEle.getElementsByTagName("d:Title");
for (int k=0; k < TitleLst.getLength() ; k++) {
Element TitleEle = (Element)TitleLst.item(k);
NodeList CharLst = ExternalPageEle.getElementsByTagName("s:char");
Element CharEle = (Element)CharLst.item(0);
String Char = CharEle.getFirstChild().getNodeValue();
String Title = TitleEle.getFirstChild().getNodeValue();
System.out.println(Title);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
【実行結果】
null
以上、宜しくお願いします。
No.1ベストアンサー
- 回答日時:
> NodeList TitleLst = ExternalPageEle.getElementsByTagName("d:Title");
恐らくここが問題です。
XMLでは要素名の':'より前の部分はnamespaceと呼ばれ特殊な扱いを受けます。XMLをプログラムで扱う場合,XML Namespace に関する知識は必須ですのですので,勉強しておくことをお勧めします。
http://www.utj.co.jp/XML/sta/namespace.html
http://www.w3.org/TR/REC-xml-names/
若干ヒントを書いておくと,getElementsByTagNameではなく,getElementsByTagNameNSで試してみてください。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/or …
参考URL:http://www.w3.org/TR/REC-xml-names/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「例外 *** は対応する try 文...
-
eclipseに記述したjavaファイル...
-
setAttribute(String, int)は適...
-
文字列を数式に
-
python OpenPyXLを使って出力結...
-
drawImageの描画速度について
-
<forEach> 内で供給された "ite...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
パソコンキーボードで時分秒を...
-
BOOL値を逆にしたい
-
ダブルクォーテーションのrepla...
-
yyyymmddからyyyy/mm/d...
-
<s:iterator>の値をリストで取...
-
C# 半角カナの文字化けについて
-
JSPやサーブレットでSystem.out...
-
ボタンのイベントで異なるウィ...
-
Eclipseのコンソールを常に表示...
-
ORA-01858: 数値を指定する箇所...
-
[JAVA]try 内の変数を外で!?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
「例外 *** は対応する try 文...
-
importするには java.io.*; imp...
-
Javaを使ってデジタル時計を作...
-
setAttribute(String, int)は適...
-
シャットダウンフックが呼ばれない
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
ColabでのPytorchのエラー
-
【JAVAエラー】互換性のない型...
-
文字列を数式に
-
importとextendsの用い方の違い...
-
Java3Dで横置き円筒体の円筒中...
-
HttpClientについて
-
ActionForm form にnullが入っ...
-
java初心者です。座標取得と図...
-
javaで画像を回転縮小
-
(急募)Javaじゃんけんゲームで
-
画面遷移時のデータ遷移について
おすすめ情報