kazfのプロフィール
- ベストアンサー数
- 1
- ベストアンサー率
- 100%
- お礼率
- 0%
- 登録日2005/01/16
- 要素のとりだしかた
Jaxpのxmlパーサを使い、xmlからxmlに変換するプログラムを作っています。分からないことがあるのでぜひ教えてください。 例えば、 <book bookid="001"> <hon name="abc" /> <hon name="def" /> </book> <book bookid="002"> <hon name="ghi" /> </book> などというxmlからhonのnameがabcというものを探し、 あれば、"abc"とそのbookidの"001"を取り出す方法はどうすればいいでしょうか? abcは取り出せたのですが、それに対応するbookidが取り出せなくて困っています。 わかりづらくてすみません・・・。
- 要素のとりだしかた
Jaxpのxmlパーサを使い、xmlからxmlに変換するプログラムを作っています。分からないことがあるのでぜひ教えてください。 例えば、 <book bookid="001"> <hon name="abc" /> <hon name="def" /> </book> <book bookid="002"> <hon name="ghi" /> </book> などというxmlからhonのnameがabcというものを探し、 あれば、"abc"とそのbookidの"001"を取り出す方法はどうすればいいでしょうか? abcは取り出せたのですが、それに対応するbookidが取り出せなくて困っています。 わかりづらくてすみません・・・。
- 不特定ノードに出現する同じタグ要素の中身を置換して保存したい
ある特定のタグ要素(例:hoge)がXML内のどこに現われるかわからないとき、それらの要素の中身を置換して、元のXMLと同じ構造を保ったまま保存したいと考えています。 XPathを使って//hogeと指定すればnodeListが抽出できますが、それらのrootNodeからの絶対パスを知る方法があればよいのですが。。。 当方DOMとXSLTを多少かじった程度で、SAXについては全くわかりませんが、どんな方法でもよいので実現できる方法があったらどなたかご教授くださいませ。 <?xml version="1.0" encoding="Shift_JIS"?> <root> <hoge>変換前文字列1</hoge> <aaa> <hoge>変換前文字列2</hoge> </aaa> <bbb> <ccc> <hoge>変換前文字列3</hoge> </ccc> <hoge>変換前文字列4</hoge> <hoge>変換前文字列5</hoge> </bbb> </root> 上記のようなXMLを下記のように変更したい。 <?xml version="1.0" encoding="Shift_JIS"?> <root> <hoge>変換後文字列1</hoge> <aaa> <hoge>変換後文字列2</hoge> </aaa> <bbb> <ccc> <hoge>変換後文字列3</hoge> </ccc> <hoge>変換後文字列4</hoge> <hoge>変換後文字列5</hoge> </bbb> </root>
- 不特定ノードに出現する同じタグ要素の中身を置換して保存したい
ある特定のタグ要素(例:hoge)がXML内のどこに現われるかわからないとき、それらの要素の中身を置換して、元のXMLと同じ構造を保ったまま保存したいと考えています。 XPathを使って//hogeと指定すればnodeListが抽出できますが、それらのrootNodeからの絶対パスを知る方法があればよいのですが。。。 当方DOMとXSLTを多少かじった程度で、SAXについては全くわかりませんが、どんな方法でもよいので実現できる方法があったらどなたかご教授くださいませ。 <?xml version="1.0" encoding="Shift_JIS"?> <root> <hoge>変換前文字列1</hoge> <aaa> <hoge>変換前文字列2</hoge> </aaa> <bbb> <ccc> <hoge>変換前文字列3</hoge> </ccc> <hoge>変換前文字列4</hoge> <hoge>変換前文字列5</hoge> </bbb> </root> 上記のようなXMLを下記のように変更したい。 <?xml version="1.0" encoding="Shift_JIS"?> <root> <hoge>変換後文字列1</hoge> <aaa> <hoge>変換後文字列2</hoge> </aaa> <bbb> <ccc> <hoge>変換後文字列3</hoge> </ccc> <hoge>変換後文字列4</hoge> <hoge>変換後文字列5</hoge> </bbb> </root>