[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
質問
XPath式を書いていて、変なエラーが出たので直しましたが、次の2つのXPath式の違いは何でしょうか?
"//td[starts-with(normalize-space()),'Posted Date:')]"
そして
"//td[starts-with(normalize-space(text()),'Posted Date:')]"
主に、最初のXPath式は何をキャッチするのでしょうか?というのも、おかしな結果がたくさん出ていたからです。では
text()
はマッチングに影響を与えるのでしょうか?また、「このような場合、どのような違いがあるのでしょうか?
normalize-space()
&です。
normalize-space(.)
?
解決方法は?
さて、本当のところ、この
.
と
text()
?
.
はカレントノードです。そして、文字列が期待される場所でこれを使用すると(すなわち
normalize-space()
これは、要素の場合、要素内のすべてのテキストノードを連結したものです。(この質問は本当に要素についてだと思うので)。
text()
一方、現在のノードの直接の子であるテキストノードのみを選択します。
つまり、例えばXMLがあるとします。
<a>Foo
<b>Bar</b>
lish
</a>
と仮定すると
<a>
が現在のノードです。
normalize-space(.)
が返されます。
Foo Bar lish
しかし
normalize-space(text())
は失敗します。
text()
は、2つのテキストノードからなるノードセットを返します (
Foo
と
lish
を含む)、どの
normalize-space()
は受け入れない。
長い話を短くすると、ある要素内のすべてのテキストを正規化したい場合は
.
. 特定のテキストノードを選択したい場合は
text()
しかし、その名前にもかかわらず、常に覚えておいてください。
text()
はノードセットを返すが,これは要素が1つしかない場合にのみ自動的に文字列に変換される.
関連
-
[解決済み] XPathでnot contains()を使うには?
-
[解決済み] エンベロープスキーマを使用したxmlDisassemblerでのデバッチが、空のメッセージで失敗する。
-
[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
-
[解決済み] 異なるノードに対する XPath OR 演算子
-
[解決済み] XPath - 値が等しい要素を選択する
-
[解決済み] Xpath: クラスを含み、かつ特定の子要素がテキストを含む div を選択する。
-
[解決済み】XPathを使用して、特定の属性を持つ最初の要素を選択する方法
-
[解決済み] XPath contains(text(),'some string') は、複数の Text サブノードを持つノードで使用すると動作しません。
-
[解決済み】XPath:その値に基づいて要素を選択するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] XPathでnot contains()を使うには?
-
[解決済み] エンベロープスキーマを使用したxmlDisassemblerでのデバッチが、空のメッセージで失敗する。
-
[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
-
[解決済み] 異なるノードに対する XPath OR 演算子
-
[解決済み] XPath - 値が等しい要素を選択する
-
[解決済み] Xpath: クラスを含み、かつ特定の子要素がテキストを含む div を選択する。
-
[解決済み】XPathを使用して、特定の属性を持つ最初の要素を選択する方法
-
[解決済み] XPath contains(text(),'some string') は、複数の Text サブノードを持つノードで使用すると動作しません。
-
[解決済み】XPath:その値に基づいて要素を選択するには?