- PR -

XMLのタグ属性(?)の取得について

1
投稿者投稿内容
ひろっち
会議室デビュー日: 2004/10/06
投稿数: 9
投稿日時: 2004-10-06 10:54
下記ようなXMLがありまして

<main>
<sub no="1">aaa</sub>
<sub no="2">bbb</sub>
</main>

このXMLより
タグ名sub と 属性の名前(?) no と 値(?) 1or2 を
subタグの要素(?)aaa or bbb とセットで取得したいのですが
どのようにしたらいいのでしょうか?
今はタグの要素のaaa or bbb は取得できるようになったのですが・・・
うまく文章が書けていませんが、よろしくお願いします。


山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-06 11:19
ん?ごめんなさい、理解できませんでした。
>うまく文章が書けていませんが、よろしくお願いします。
と思うならもう少し文章を練ってもよいのではないでしょうか・・?
また、文書にアクセスするための API は何を使おうと考えていますか?
ひろっち
会議室デビュー日: 2004/10/06
投稿数: 9
投稿日時: 2004-10-06 11:39
すみません、XML初心者なので・・・

APIはDOMです。
xerces.parser.DOMParser
とかってのをimportしているので、たぶんこれかなと・・・

で処理をどのようにしたいのかというと
subというタグのaaaというものを取ると同時に
no="1"というタグに書いてある物も取得すると
いうもので
今のソースは下記のように書いてまして
これに処理を追加したいと思っています。

FileReader objFR = new FileReader("C:\\test.xml");
BufferedReader objBR = new BufferedReader(objFR);
InputSource objSrc = new InputSource(objBR);
DOMParser objPrs = new DOMParser();
objPrs.parse(objSrc);
Document objDoc = objPrs.getDocument();

NodeList lstNod = objDoc.getElementsByTagName("sub");

for(int i = 0;i < lstNod.getLength();i++)
{
String strTmp = lstNod.item(i).getFirstChild().getNodeValue();
}
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-06 12:09
"DOM で属性の値を取得する方法がわからない"ということでしょうか?
ひろっち
会議室デビュー日: 2004/10/06
投稿数: 9
投稿日時: 2004-10-06 12:33
はい、属性の値と名前を取得したいのです。

実際のxmlにはsubがいくつあるのかは不定ですが
必ず複数に渡って存在しているので
subというタグの
属性名、属性の値、タグの要素
をセットで取得して
これを配列にして保持できたらなと思っています。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-10-06 13:49
XML <--> Javaオブジェクト のバインディング・XMLシリアライズとか
いうタイプでしょうか、バインディングのフレームワークは幾つかあり
ますが、そんな大げさでも。
では、少し古いかも {DOMプログラミング虎の巻}
http://www.asahi-net.or.jp/~dp8t-asm/java/articles/XMLJava2/article.html

ひろっち
会議室デビュー日: 2004/10/06
投稿数: 9
投稿日時: 2004-10-06 15:09
MMXさんの紹介されたページの例文を応用したら
無事に取得する事が出来ました。
自分はXML初心者&JAVAをやるのも久しぶりで
質問文すらなかなかうまく書けないというなか
回答していただいて
インギさん、MMXさん、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)