A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
===========PHPのコード===========
<?php
$doc = new DOMDocument();
$doc->resolveExternals = true;
$doc->strictErrorChecking = true;
$doc->recover = false;
$doc->load("Q5605930-1.xml");
$xpath = new DOMXPath($doc);
$xpath->registerNamespace ( "ns" , "http://himajin100000.example.com/" );
$nodes = $xpath->query("/xml/data/ns:A1/ns:A2/ns:A3");
for($i = 0;$i < $nodes->length;$i++){
print($nodes->item(0)->namespaceURI . "\n");
print($nodes->item(0)->localName . "\n");
print($nodes->item(0)->textContent . "\n");
}
?>
========用いたXMLファイル==========
<xml>
<data>
<aa:A1 xmlns:aa="http://himajin100000.example.com/">
<aa:A2>
<aa:A3>これが取りたい</aa:A3>
</aa:A2>
</aa:A1>
</data>
</xml>
=======結果(何を求めたいのかよく判らなかったから適当に)=======
http://himajin100000.example.com/
A3
これが取りたい
=============その他===========
SimpleXMLあまり好きじゃないので書かない。DOMのみ。(初心者には簡易な記法が好まれるが、一貫性の方が重要で安易に簡易さを求めるべきではないという立場の俺としては複雑な心境である)
XMLに名前空間宣言はちゃんと含めてください。
DOMXPathのregisterNamespaceの第一引数は
DOMXPathのqueryメソッドで使われるXPath式のものであれば何でも良い、ということを一応示すために、元のXMLの名前空間接頭辞aaを使わないようにした。
gooはURIっぽい文字列の連続するUS-ASCIIの文字の最初と最後に不可視の文字を付け加えるので取り除いてから動かすこと。
一応xmlで始まる要素名は予約されているので、安易に使うと新しく規格が出来たときに困るかもしれないから覚悟してね
この回答へのお礼
お礼日時:2010/01/19 23:17
丁寧な回答ありがとうございます。
自分はsimplexmlで実行していた為、DOMについては全く知識が
ないのですが、調べながら実装してみようと思います。
結果を明確に記述していなくてすみませんでした^^;
”これが取りたい”とういう文字列を取得したかったので、
上記の回答でばっちり分かりました^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 実用・教育 その著者まで亡くなられたのですか? 2 2022/07/30 17:55
- その他(家族・家庭) 幼い2人の子は、孤児になるのでしょうか?? 1 2022/07/31 15:01
- 政治 佐渡金山の推薦書不備に怒りの声……こういうのに、統一教会の意向を受けた売国議員が暗躍してませんか? 2 2022/07/31 19:18
- 電気・ガス・水道 ソーラーパネル初心者です 1 2023/01/01 13:46
- 宗教学 公明・山口氏、悪質な勧誘に「制裁を考えなければ」……創価学会は大丈夫ですか? 2 2022/11/10 04:22
- 政治 自民・萩生田光一政調会長「防衛増税前に解散、国民に信を問う」……国民をナメきってませんか? 4 2022/12/25 19:19
- サバイバルゲーム このタイプの差し込み口ってなんの種類か分かりますか? 3 2022/07/29 15:32
- ZOZOTOWN このタイプの差し込み口ってなんの種類か分かりますか? 2 2022/07/29 15:31
- 宇宙科学・天文学・天気 反物質がほとんどなくて、ほぼ物質だけの宇宙になったのは偶然ですか? 3 2022/11/13 14:37
- 宇宙科学・天文学・天気 反物質がほとんどなくて、ほぼ物質だけの宇宙になったのは偶然ですか? 1 2022/07/04 16:02
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel-VBAでXMLの複数ノードの...
-
TOMCAT起動エラー
-
CPUの考え方を教えてください ...
-
バッチファイルでテキストファ...
-
XMLで要素が記述された順番に意...
-
このエラー、何とかなりません...
-
2分探索木の高さを求めるプロ...
-
Listからのnull要素を削除方法は?
-
ルート要素ノードが2個ある場合?
-
VB6でXMLを処理するには
-
SNMP リンクダウンとノードダ...
-
methodCallが定義されていない!?
-
TreeView の初期表示について
-
コンテキストメニュークリック...
-
XSLTにてタグ名を取得する方法
-
メモリのセクションに関して
-
VB6.0でDOMを使用して...
-
XPathで途中に名前空間が設定さ...
-
MSXMLを使ってノードを削除した...
-
ToolStripMenuItemの選択(VB)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSでxmlの値を書き換えたい
-
Excel-VBAでXMLの複数ノードの...
-
エラーメッセジの意味が分かり...
-
XMLからデータを取得
-
TOMCAT起動エラー
-
XMLファイルをPHPで読み込むには?
-
DTDについて
-
DOCUMENT行の書き出しについて
-
YAHOOオークションAPI ...
-
xmlを編集したい
-
C#のDataGridViewにCheckBox
-
XMLのタグ名に予約語は禁止?
-
XMLのnamespaceへのアクセス方法
-
RSSファイルの拡張子はどれが正...
-
XMLの名前空間について
-
robots.txtの設置場所
-
CPUの考え方を教えてください ...
-
バッチファイルでテキストファ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
おすすめ情報