- PR -

xmlファイル操作 domについて

1
投稿者投稿内容
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2007-01-10 14:40
以下のプログラムを実行した時に、
出力先のxmlデータにはstrのタグができてしまいます。

strの内容(idは"+str1+"、passは"+str2+")
でタグを作るにはどうしたらいいのでしょうか。

省略
String str=idは"+str1+"、passは"+str2+");
Element elmMem=objDoc.createElement("str");


どんな事でも助かりますので、教えていただけないでしょうか。
ご教授願います。

[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2007-01-10 14:54 ]
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-01-10 15:24
引用:

ベルトコンベアさんの書き込み (2007-01-10 14:40) より:
以下のプログラムを実行した時に、
出力先のxmlデータにはstrのタグができてしまいます。

strの内容(idは"+str1+"、passは"+str2+")
でタグを作るにはどうしたらいいのでしょうか。

省略
String str=idは"+str1+"、passは"+str2+");
Element elmMem=objDoc.createElement("str");



いまひとつ、何がしたいのかわかりません。
「タグを作る」とはどういう意味でしょうか?
「タグ」がXMLの要素のことであれば
<idはhoge、passはpiyo></idはhoge、passはpiyo>
ということになりますが、普通はそんなことはしないはずだし…。

createElement("str")とすればそれは当然
<str></str>
となるわけですが、「strのタグができてしまいます」が
否定的なニュアンスを持っているところからすればやはり
<idはhoge、passはpiyo></idはhoge、passはpiyo>
なんでしょうか。
だとすれば
createElement("str");
ではなく
createElement(str);
となりますが…。
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2007-01-10 16:12
その通りです。つたない文章ですみません。

目的は、xmlファイルへの
<username="hoge" password="piyo" />の出力です。

[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2007-01-10 16:17 ]
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-01-10 16:26
引用:

目的は、xmlファイルへの
<username="hoge" password="piyo" />の出力です。


これじゃ、要素名が抜けてるので、XMLとして不正なんじゃない?
<要素名 username="hoge" password="piyo" />
となるようにしないと。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-01-10 16:44
XMLが
<要素名 属性名="属性値">
となっているのは理解されていますよね?

要素を作るcreateElement()があるように、
属性を作るcreateAttribute()が存在します。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/org/w3c/dom/Document.html#createAttribute(java.lang.String)

作成したAttrオブジェクトを該当するElementオブジェクトにsetAttributeNode()してやります。

簡素に済ませるのであれば、ElementクラスのsetAttribute()メソッドを使って属性を設定します。
こちらは属性名と属性値をStringで渡すだけなので簡単ですね。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/org/w3c/dom/Element.html#setAttribute(java.lang.String, java.lang.String)
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2007-01-10 22:31
かずくんさん、nagiseさんお返事ありがとうございます。
助かりました。

要素名の未入力が原因で、プログラムにerrorが出てるとは思いませんでした。
それに関する説明としてリンクまで張っていただいて、感謝です。
目的を達成することができました。


[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2007-01-10 22:41 ]
1

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