<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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- JavaScript 【Javascript】ボタンクリックで2つのclassに対し、それぞれ別のclassを追加したい 1 2022/07/29 20:52
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XPath指定方法について(phpで)
-
DreamweaverCS4で、テキスト...
-
エクセル マクロ 複数のhtml...
-
VBAでGoogle検索の上位にあるUR...
-
【jQuery】MixltUPの複数フィル...
-
新しいパソコンのネット設定な...
-
或る文字列の文字数が一定数以...
-
コンソール画面のクリアの方法
-
mとnを入力 mからnまでを加算し...
-
無職になって2ヶ月目です。WEB...
-
C言語のプログラミングについて...
-
エクセルで、アルファベットを...
-
PCとモバイルで同一URLのWebサ...
-
Excel VBA プログラムを止める...
-
プログラミング
-
アコーディオンメニューにする...
-
(再質問)エクセルのマクロボ...
-
linuxでソースから定義を探すには
-
「ECサイト作成専用書籍」とな...
-
エクセルでの抽出の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル マクロ 複数のhtml...
-
ヤフオク エクセル VBA 通常...
-
XPath指定方法について(phpで)
-
VBAでGoogle検索の上位にあるUR...
-
DreamweaverCS4で、テキスト...
-
プログラミング
-
無職になって2ヶ月目です。WEB...
-
(再質問)エクセルのマクロボ...
-
新しいパソコンのネット設定な...
-
collection型を引数にしたファ...
-
コンソール画面のクリアの方法
-
アコーディオンメニューにする...
-
mとnを入力 mからnまでを加算し...
-
汎用機のJCLの入門書ありま...
-
HTMLでのテキストエリアで入力...
-
iText セル内での自動改行について
-
ヘッダファイルimage.hとは?
-
六本組み木の作り方を教えて下...
-
C言語のプログラミングについて...
-
Progateの入力画面で使えるショ...
おすすめ情報
早速のご回答ありがとうございます。が、例が間違っていましたすみません。
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]と、|(論理和)が決め手でした