<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ランキング
-
XMLを作成してもタグしか表示さ...
-
エクセルの拡張子XLSのファイル...
-
ワードで文字を入力する時の変...
-
こんにちは ブラケッツでプログ...
-
dataファイルをxtxファイルにす...
-
公文書のxmlファイルの開き方が...
-
退会方法について
-
Web画面のTableから数字を取得...
-
教えてください。 画像処理のプ...
-
XMLとは何ですか?
-
エクセルのマクロについて教え...
-
マイナポータルの住宅借入金当...
-
iPhoneでXMLファイルを開くには...
-
ホームページ作成ーこういうの...
-
MSFormsとは何ですか?
-
XMLデータを変換し印刷する方法
-
論文に載せるグラフを作成したい
-
長いurlを短く表示させるように...
-
コンピュータのプログラミング...
-
reaper音声ファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヤフオク エクセル VBA 通常...
-
VBAでGoogle検索の上位にあるUR...
-
XPath指定方法について(phpで)
-
新しいパソコンのネット設定な...
-
collection型を引数にしたファ...
-
(再質問)エクセルのマクロボ...
-
アコーディオンメニューにする...
-
iText セル内での自動改行について
-
mとnを入力 mからnまでを加算し...
-
<p> </p>ってまずいの?
-
六本組み木の作り方を教えて下...
-
汎用機のJCLの入門書ありま...
-
Listでintの最大値を超える要素...
-
ヘッダファイルimage.hとは?
-
模写コーディング PC画面幅に画...
-
cframeworkについて
-
Aタグのhrefの値を取得したいの...
-
Googleコンソールでサイトマッ...
-
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]と、|(論理和)が決め手でした