質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

解決済

XMLからJavaで情報を取得したい

kamekawashinta
kamekawashinta

総合スコア0

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1回答

0評価

0クリップ

1661閲覧

投稿2016/05/24 09:58

編集2022/01/12 10:58

###名前空間のあるXMLからJavaで情報を取得したい
プログラミング初心者です
Javaのプログラミングを使って
XML(sample.xml)から情報を表示させたいと思っています。

###発生している問題・エラーメッセージ
コマンドライン引数にsample.xmlのファイルパスを入力し実行すると

ここまでreadLine出力 ここから選択出力 タグに該当 null タグに該当 null タグに該当 null タグに該当 略 ~ 略 タグに該当 null タグに該当 null タグに該当 null ここまでで選択出力終わり

となり、nullが返ってきてしまいます。

エラーメッセージ 上記です

###該当のソースコード

xml

sample\.xml <\?xml version="1\.0" encoding="UTF-8"\?> <\?xml version="1\.0" \?> <media> <!-- Aさんが書いた映画用のXML --> <A:title xmlns:A="URLA" >THE Last Samurai</A:title> <A:review></A:review> <!-- Bさんが書いた書籍用のXML --> <B:title xmlns:B="URLB" >赤と黒</B:title> <B:review>名作</B:review> </media> ここにご自身が実行したソースコードを書いてください

###該当のソースコード

java

//Main\.java import java\.io\.BufferedReader; import java\.io\.FileNotFoundException; import java\.io\.IOException; import java\.nio\.charset\.StandardCharsets; import java\.nio\.file\.Files; import java\.nio\.file\.Path; import java\.nio\.file\.Paths; import javax\.xml\.stream\.XMLStreamException; public class Main { public static void main\(String\[\] args\) throws FileNotFoundException, XMLStreamException { String fileSeparator = System\.getProperty\("file\.separator"\); System\.out\.println\(fileSeparator\); String userSelectedPath = \(String\)args\[0\]; Path UserSelectedFilePath = Paths\.get\(userSelectedPath\); ReadXml rx = new ReadXml\(\); System\.out\.println\("ここまでreadLine出力"\); System\.out\.println\("ここから選択出力"\); rx\.Reader\(userSelectedPath,"p","l"\); System\.out\.println\("ここまでで選択出力終わり"\); } } //ReadXml\.java import java\.io\.FileInputStream; import java\.io\.IOException; import java\.io\.InputStream; import javax\.xml\.stream\.XMLInputFactory; import javax\.xml\.stream\.XMLStreamConstants; import javax\.xml\.stream\.XMLStreamException; import javax\.xml\.stream\.XMLStreamReader; public class ReadXml { public void Reader\(String UserSelectedPath, String tag,String element\){ try\(InputStream in = new FileInputStream\(UserSelectedPath\)\){ XMLInputFactory factory = XMLInputFactory\.newInstance\(\); XMLStreamReader reader = factory\.createXMLStreamReader\(in\); //パース開始 while\(reader\.hasNext\(\)\){ //イベントタイプを取得 switch\(reader\.getEventType\(\)\){ //タグの開始イベントの場合 case XMLStreamConstants\.START_ELEMENT: //タグによって動作 if\(reader\.getLocalName\(\)\.equals\(tag\)\){ //属性取得 System\.out\.println\("タグに該当"\); System\.out\.println\(""\+reader\.getAttributeValue\("URLA",element\)\); } break; default: } reader\.next\(\); } reader\.close\(\); } catch \(IOException | XMLStreamException e\) { // e\.printStackTrace\(\); } } }

###補足情報(言語/FW/ツール等のバージョンなど)
eclipse

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

argius
argius

2016/05/24 10:30

実際に動かしてみましたが、載せていただいたXMLデータでは問題が再現しないようです。XMLデータを削っても良いので、実際に問題が発生するデータを載せていだだけませんでしょうか。 あとできればJavaとEclipseのバージョンも教えてください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。