2013-10-01 3 views
0

Я пытаюсь получить значение <abc-value>abc</abc-value> другого дочернего узла elment из текущего узла.Как получить значение другого элемента дочернего узла

Пример:

<root> 
    <child1> 
    <abc-value>abc</abc-value> 
    </child> 
    <child2> 
    <attribute name=def>def</def-value> 
    </child2> 
</root> 

XSL:

<xsl:template name="child2" match="attribute"> 
    child1 value is: <xsl:value-of select="../abc-value"/> 
    child2 value is: <xsl:value-of select="current()"/> 
</xsl:template> 

Все, что я пытаюсь сделать это, из Child2 матча шаблон, я звоню значение child1 элемента <abc-value>abc</abc-value>.

Exptected из:

значение Child1 является: а

значения Child2 является: Защитой

+2

После вашего последнего редактирования ваш XML уже не является корректным. В частности ' def'. Кроме того, вы можете ввести в заблуждение атрибуты 'match' и' name' в 'xsl: template'. Если вам действительно нужно использовать именованный шаблон, выберите имя, которое не совпадает с одним из элементов ввода. Это упростит понимание. –

+1

Он не был хорошо сформирован до последнего редактирования: тег закрытия child1 не может быть дочерним. И зачем называть атрибут нового элемента? И почему продолжать распространять этот вопрос? – kjhughes

ответ

3
<xsl:template name="child2" match="attribute"> 
    child1 value is: <xsl:value-of select="../../child1/abc-value" /> 
    child2 value is: <xsl:value-of select="." /> 
</xsl:template> 

Обновления: на основе редактирования на ваш вопрос:

  • шаблон теперь соответствует элементу <attribute>.
  • Поскольку текущий узел шаблона (элемент <attribute>) глубже, чем раньше, выражение select для значения child1 изменяется для использования дополнительного ../.
+1

Правильно, +1, но, пожалуйста, закройте инструкции 'xsl: value-of' - слишком мал для SO, чтобы я мог исправить. – kjhughes

+0

Когда я его использую, он получает следующую ошибку: XPTY0020: Невозможно выбрать узел здесь: элемент контекста - это атомное значение – phani

+0

обновленный узел child2 с новым элементом ' phani

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