Справка по XML / XSL - PullRequest
       0

Справка по XML / XSL

0 голосов
/ 19 сентября 2019

Я пытаюсь использовать для циклического прохождения моего элемента, но он продолжает повторять первый элемент, вместо того, чтобы проходить через все из них.

Вот фрагмент моего кода xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<customer ref="Hannah">

<fullname>

    <firstname>Hannah</firstname>

    <lastname>Hannah</lastname>

</fullname>

<meter ref="Hannah">

 <reading>

    <meterread>622224492</meterread>

</reading>

    </meter>

</customer>

<customer ref="Hannah">

<fullname>

    <firstname>Hannah</firstname>

    <lastname>Hannah</lastname>

</fullname>

<meter ref="Hannah">

<reading>

    <meterread>2822222132</meterread>

</reading>

</meter>

</customer> 

Вот фрагмент моего XSL-кода:


<xsl:for-each select="customer">
<p>Name: <xsl:value-of select="customer/fullname"/></p>

<p>Num: <xsl:value-of select="customer//@ref"/></p>

</xsl:for-each>

По сути, он продолжает повторять первого клиента, вместо того, чтобы повторять каждый элемент.

Любая помощь или предложения будутздорово!

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Измените только следующий код: -

<p>Name: <xsl:value-of select="$customerInfo//customer/fullname"/></p>
                       to
<p>Name: <xsl:value-of select="fullname"/></p>

                       and

<p>Account Number: <xsl:value-of select="$customerInfo/customer//@number"/></p>
                       to
<p>Account Number: <xsl:value-of select="@number"/></p>
0 голосов
/ 19 сентября 2019

Ваш xsl:for-each выбирает customer элементов, и поэтому внутри xsl:for-each вы будете расположены на элементе customer.Это означает, что ваши выражения XPath в операторах xsl:value-of должны относиться к этому, а не к абсолютным путям.

Например, чтобы получить полное имя, просто сделайте это, чтобы получить элемент fullname относительнотекущий customer элемент

<xsl:value-of select="fullname"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...