
<div class="c0">
<div class="c1">
<x10>AAAAAAAAAAAAAAAAAAAAAA</x10>
<div class="c11"><x11>BBBBBBBBBBBBBBBBBBBBB</x11></div>
<div class="c12"><x12>CCCCCCCCCCCCCCCCCCCCC</x12></div>
</div>
<div class="c2">
<x20>DDDDDDDDDDDDDDDDDDDD</x20>
</div>
</div>
の、AAAAAAAAAAAAAAAAAA「だけ」取りたい場合のXpath式を教えてください。
失敗例いろいろ:
//div[@class='c1'];
//div[@class='c0']/div[@class='c1' and @class!='c11' and @class!='c12' and @class!='c2']";
//div[@class='c0']/div[@class!='c11' and @class!='c12' and @class!='c2' and @class='c1']";
//div[@class='c0']/div[@class!='c11' and @class!='c12' and @class!='c2']";
困っています。よろしくおねがいいたします
No.2ベストアンサー
- 回答日時:
<div class="c1">直下の<x10>だけを取るなら
//div[@class="c1"]/x10
AAAAAAAAAAAAAAAAAA を含む文字列だけを取るなら
//text()[contains(.,"AAAAAAAAAAAAAAAAAA")]
AAAAAAAAAAAAAAAAAA だけを取るなら
//text()[.="AAAAAAAAAAAAAAAAAA")]
早速のご回答ありがとうございます。が、例が間違っていましたすみません。
containtsに「.」を指定できたり、text()は使えそうですね。参考に検証させていただきます。
No.1
- 回答日時:
単純に,
//x10/text()
ではだめなのですか。
---- お試し ----
<?php
$xml = <<<'EOT'
<div class="c0">
<div class="c1">
<x10>AAAAAAAAAAAAAAAAAAAAAA</x10>
<div class="c11"><x11>BBBBBBBBBBBBBBBBBBBBB</x11></div>
<div class="c12"><x12>CCCCCCCCCCCCCCCCCCCCC</x12></div>
</div>
<div class="c2">
<x20>DDDDDDDDDDDDDDDDDDDD</x20>
</div>
</div>
EOT;
$doc = new DOMDocument();
if (!$doc->loadXML($xml)) {
die;
}
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//x10/text()');
if ($nodes === false || $nodes->length !== 1) {
die;
}
echo '<' . $nodes->item(0)->wholeText . '>' . PHP_EOL;
早速のご回答ありがとうございます。が、例が間違っていましたすみません。
wholeText 初耳でして感謝します。上にも書きましたがtext()は使えそうですね。参考に検証させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
ChatGPT excel
-
XML、XSLTの適応エラー(IEから...
-
MSFormsとは何ですか?
-
公文書のxmlファイルの開き方が...
-
ファイル名の一部削除について
-
xmlファイルが上手にHTMLに変換...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
Webページに関するさまざまな情...
-
head要素
-
ヤフー知恵袋みたいなサイトを...
-
マイナポータルの住宅借入金当...
-
XMLデータを変換し印刷する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XPath指定方法について(phpで)
-
エクセル マクロ 複数のhtml...
-
HP作成のレイアウトで、ルーズ...
-
(再質問)エクセルのマクロボ...
-
汎用機のJCLの入門書ありま...
-
collection型を引数にしたファ...
-
鍵盤アプリで、スマホの画面に...
-
コンソール画面のクリアの方法
-
JavaScriptでチャート図を書き...
-
iText セル内での自動改行について
-
timeSetEventに対するtimeKillE...
-
【jQuery】MixltUPの複数フィル...
-
こんばんは。 メガメニューを今...
-
アコーディオンメニューにする...
-
<p> </p>ってまずいの?
-
Progateの入力画面で使えるショ...
-
Internet Explor...
-
Nivo Sliderのカスタマイズにつ...
-
プログラミング
-
Googleコンソールでサイトマッ...
おすすめ情報
早速のご回答ありがとうございます。が、例が間違っていましたすみません。
AAAAAAAA…を取るのは変わらないのですが、
タグに囲われているものと囲われていないものがあって、
「.c1 以外のクラス配下のテキスト」は丸ごと除くやり方についてでした。
<div class="c0">
<div class="c1">
AAAAAAAAAAAAAAAAAAAAAA
<x10>AAAAAAAAAAAAAAAAAAAAAA</x10>
<div class="c11"><x11>BBBBBBBBBBBBBBBBBBBBB</x11></div>
<div class="c12"><x12>CCCCCCCCCCCCCCCCCCCCC</x12></div>
</div>
<div class="c2">
<x20>DDDDDDDDDDDDDDDDDDDD</x20>
</div>
</div>
できました!
//div[@class='c1']/text()[string-length(normalize-space()) > 0]|//div[@class='c1]/x10/text()[string-length(normalize-space()) > 0]
text()[string-length(normalize-space()) > 0]と、|(論理和)が決め手でした