2013-04-08 6 views
0

дал следующий XML-документсуммирующих узлов на том же уровне, после транслят запятая

<root> 
    <row> 
    <field1/> 
    <tax1>10,00</tax1> 
    <tax3>100,00</tax3> 
    <tax2>150,00</tax2> 
    <tax4>50,0</tax4> 
    <field2/> 
    </row> 
</root> 

Мне нужно, чтобы выбрать все налоговые fiels (tax1, tax2, tax3, tax4 и переводить "" ->». "и просуммировать их это может быть сделано в XPath 1.0

ответ

1

Dimitre Novatchev предоставил полный ответ на этот тип вопроса здесь:.?. https://stackoverflow.com/questions/647991/summing-numbers-with-comma-as-decimal-separator-in-xslt

Короче говоря, есть много возможных решений:

  1. XSLT/XPath 1,0 + EXSLT
  2. FXSL 2.0 (в частности, transform-and-sum() преобразование)
  3. XSLT/XPath 2,0

на основе ваших комментариев, это выглядит как # 1 и # 2 будет представлять интерес.

+0

пример работает на 3 теги с тем же именем, у меня есть 4 разных названия tax1 -> tax4 – user1120753

+0

Это нормально; есть XPaths, которые могут захватывать только те элементы. Например, '/ */*/* [start-with (name(), 'tax')]] выберет все нужные элементы. – ABach

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