正確な状況に応じて、ノードを選択するさまざまなXPath式があり、その値には空白が含まれています。
まず、これらの文字のいずれかが「空白」であることを思い出してください。
	
-タブ


--改行

- キャリッジリターン
' '
または 
-スペース
ノードの正確な値がわかっている場合はHello World
、スペースを含む ""とすると、最も直接的なXPath式になります。
/top/aChild[. = 'Hello World']
このノードを選択します。
ただし、空白を含む値を指定する際の問題は、すべての空白文字が空白と同じように表示され、それがスペースのグループなのか単一のタブなのかわからないためです。
XPath 2.0では、正規表現を使用でき、シンプルで便利なソリューションを提供します。したがって、XPath2.0式を次のように使用できます。
/*/aChild[matches(., "Hello\sWorld")]
最上位ノードの子を選択します。その値は、文字列「Hello」、空白、文字列「World」の順になります。関数と空白に一致する""パターンの使用に注意してください。matches()
\s
XPath 1.0では、特定の文字列に空白文字が含まれているかどうかをテストするのに便利です。
not(string-length(.)= stringlength(translate(., ' 	

','')))
ここでは、translate()
関数を使用して4つの空白文字のいずれかを削除し、結果の文字列の長さを元の文字列の長さと比較します。
したがって、テキストエディタでノードの値が次のように表示される場合
"こんにちは世界"、
XPath式を使用してこのノードを安全に選択できます。
/*/aChild[translate(., ' 	

','') = 'HelloWorld']
多くの場合、XPath関数を使用することもできます。この関数normalize-space()
は、文字列引数から、先頭と末尾の空白のグループが切り取られ、文字列内のすべての空白が単一のスペースに置き換えられる別の文字列を生成します。
上記の場合、単純に次のXPath式を使用します。
/*/aChild[normalize-space() = 'Hello World']