XMLの扱いがわからなくて困っています。
javaでXMLのノードを変える、例えば、
jspの画面で要素ノードとテキスト名(要素ノードの内容)を入力して
送信ボタンを押したら、要素ノードでノード検索をしてそのテキスト名を
変更するという処理をする場合、replaceChildメソッドを使うのかと
思ったんですが、replaceChildメソッドだと、「既存のノード」しか
置き換えれなくて文字列が指定できません。
この場合、文字列をノードに変換するメソッドがあるのか、それとも
他に方法があるのか教えていただけないでしょうか。
お願いします。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
回答というよりもアドバイスですが、おそらく
> replaceChildメソッドだと、「既存のノード」しか
> 置き換えれなくて文字列が指定できません。
というところが勘違いの元で、要素の内容のテキストは、その要素ノードの子供にあたるテキストノードとして(DOMでは)表されます。試しに、テキストだけを内容とする要素ノードに対してgetFirstChild()を呼び出してみると、そのテキストノードが得られるはずです。
したがって、No.1の方が回答なさっているようにそのテキストノードを別のテキストノードで置き換えてもよいですし、replaceChildにこだわらなければ、そのテキストノードに対して直接CharacterData#setData()を使ってテキストの文字列だけ書き換えてもよいです。
この手の話は、XML自体の仕様というよりはDOMの仕様なので、参考URLなどでDOMの概念的なことだけでも抑えておくことをお奨めします。
参考URL:http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-2 …
replaceChildはNodeを置き換えるもので、例えばテキストノードを
置き換えたければノードを用意して、そこにテキストノードをセットすれば
できるんですね。
会社にある本は古くて、あまり詳しいことが載っていないんですよね、
こういう基本的なことができないと致命的なので、しっかり調べようと思います。
setDataメソッドも教えていただいて、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- XML マスターノード 1 2023/03/14 10:38
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
2分探索木の高さを求めるプロ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
TreeView の初期表示について
-
コンテキストメニュークリック...
-
VB6.0でDOMを使用して...
-
ToolStripMenuItemの選択(VB)
-
ツリービューの使い方が・・・
-
各ノードの行数取得
-
昔Winnyってありましたけど、あ...
-
二分木の高さについて
-
バッチファイルでテキストファ...
-
XMLで要素が記述された順番に意...
-
このエラー、何とかなりません...
-
Listからのnull要素を削除方法は?
-
VB6でXMLを処理するには
-
methodCallが定義されていない!?
-
Excel-VBAでXMLの複数ノードの...
-
XSLTにてタグ名を取得する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
昔Winnyってありましたけど、あ...
-
同じタグ名の項目取得
-
あるノードリストに、特定の名...
-
C#でTreeViewのCheckBoxのサイ...
-
ノードとは
-
C#でtreeviewの指定ノードを選...
-
TreeView の初期表示について
-
2分探索木の高さを求めるプロ...
-
ツリービューのノードをダブル...
-
C# TreeView 効率良いノード追...
-
C言語:文字列の並び替え
-
VB6.0でDOMを使用して...
-
TreeViewで複数ノードの選択は...
-
TreeViewに重複する値をセット
-
replaceChildメソッドについて
-
各ノードの行数取得
-
ツリービューを閉じさせたくない。
おすすめ情報