2016-04-13 5 views
0

Как выбрать узлы без включения дочерних узлов в мой выбор?Опустить дочерние узлы при выборе узла

Например:

<Result>a 
    <subresult>1 
    </subresult> 
</Result> 

Из приведенного выше кода при выборе узла результата я получаю следующий результат:

a1

Я заинтересован в следующий вывод:

a

+0

dor example, так что 'normalize-space (/ Result/text())' – splash58

+0

Возможный дубликат [XPath для возврата конкатенации строк значений квалификационного дочернего узла] (http://stackoverflow.com/questions/1403971/xpath -to-return-string-concatenation-of-qualifying-child-node-values) – nwellnhof

+0

Можете ли вы показать код, который вы используете сейчас, чтобы выбрать узел «Результат»? –

ответ

0

a является частью текстовый дочерний узел элемента Result, поэтому, если вы хотите a, но не 1, тогда вам нужны текстовые дочерние узлы, но не любые потоковые текстовые узлы. Поскольку вопрос помечен как XSLT 2.0, вы должны иметь возможность использовать <xsl:value-of select="/Result/text()" separator=""/>. С процессором XSLT 2.0 и version="2.0" это выведет строковые значения всех текстовых дочерних узлов, таким образом, если есть, например, <Result>a<subresult>1</subresult>b</Result> вы получите ab.

Смежные вопросы