2017-07-05 19 views
0

私はXPathを初めて使っていますので、私にご負担ください。基本的な質問。XPathからテキストを取得しますが、要素が必要ですか?

要素を含めてテキストを選択したいと考えています。私はノードのタグを含む2の内容をコピーしたい

<node1> 
    <node2> 
     <node3>A1</node3> 
     <node3>A2</node3> 
     <node3>A3</node3> 
     <node3>A4</node3>  
    </node2> 
</node1> 

、:下記の例の入力

<node2> 
    <node3>A1</node3> 
    <node3>A2</node3> 
    <node3>A3</node3> 
    <node3>A4</node3>  
</node2> 

しかし、私は、XPath /node1/node2/を使用している場合は、私だけA1 A2 A3 A4(ない値を取得しますnode2およびnode3タグ)。

+0

いかが '/ノード1 /ノード()[ない(自己::テキスト())]'? – Andersson

+0

@Andersson:上記の式は構文エラーを返します - 一致するテキストはありません –

+1

**使用しているXSLTコードを投稿してください**あなたのコードを見ることなく、あなたのコードが正しいノードになります要素)が選択されていますが、特定の処理がなければ、選択したノードのテキスト値を出力するだけのデフォルトのXSLTルールが適用されます。 –

答えて

0

xpath /node1/node2nodesのリストを返す必要があります。それぞれのnodeには、使用する言語に応じて、含まれているテキストとタグ名の両方にアクセスするために使用できるnodeNameまたはnodeValueなどの属性が含まれています。

+0

私はtibco BWの内部xpath機能を使用しています。何か提案はありますか。 –

-1

Correct XPath query to fetch div inner text

テキスト()関数を使用します私は/node1/node2としてXPathを使用している場合しかし、

//node1/node2/text() 
+0

// node1/node2/text()は何も返しませんが、// node1/node2 [text()]を実行するとA1 A2 A3 A4を返します。 –

+1

@Negarrak、質問者は特に、テキストだけでなく要素も欲しいと述べています。 –

+0

EiríkrÚtlendi彼は言った:@ A3 A2 A1 "私も要素を含むテキストを、選択したい" そう、 からA4 I彼が望むことを理解した A1 A2 A3 A4 正しい発現が //ノード1/NODE2 [テキスト()] あります。私の答えは間違っていません。 – Negarrak

0

を - 私は唯一の値A1 A2 A3 A4(ないnode2node3タグ)を取得します。

が間違っています。 XPath、/node1/node2は、node2要素の子を選択します。テキストノードまたは文字列ではありません。node1このXPathに対してちょうどA1 A2 A3 A4が表示されている場合は、自動的に文字列値に変換されるコンテキストでXPathを評価しています。

新しいXPathは必要ありません。 XPathの結果を評価する必要があります。あなたは

<xsl:value-of select="/node1/node2"/> 

を使用している場合たとえば、あなたの代わりにノードセットを反復処理しなければならないか、ノードセット内のすべての要素にテンプレートを適用し、

<xsl:apply-templates select="/node1/node2"/> 

またはXSLT 2.0で、シーケンスを返す、

<xsl:sequence select="/node1/node2"/> 

など、選択した要素で何を行う必要があるかによって異なります。

0
./node1/node() 

か:あなたは全体のHTMLノードをしたい場合は

./node1/node2/../node() 

は、/ノードとのXpathを(終了)。使用することの内部NODE2要素、すべてを選択する

0

たxPath://node2/descendant-or-self::*

CSS:node2,node2 *

単独でNODE2タグ無しのみインナーコンテンツを選択する:

xPath://node2/descendant::*

CSS:node2 *

関連する問題