XML в текст через XSLT - PullRequest
       6

XML в текст через XSLT

0 голосов
/ 07 ноября 2019

Это оригинальный XML-файл

<?xml version="1.0" encoding="utf-8"?>
<Report xsi:schemaLocation="FPPD2_AL2.srdl http://sunserver/ReportServer?%2FSunSystems%2FExample%20Reports%2FProcess%2FFPPD2_AL2.srdl&amp;rs%3AFormat=XML&amp;rc%3ASchema=True" Name="FPPD2_AL2.srdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FPPD2_AL2.srdl">
    <Detail_2_1>
        <Detail_2_1_Group_Collection>
            <Item RowNumber="1" transactionDate="2019-11-04" description_1="PI -Local" BankSortCode="" transactionReference="T0004" DebitCredit_Description="Credit" baseAmount_baseCreditAmount="236.32" baseAmount_baseDebitAmount="0.00" baseAmount_amount_10="-236.32" SupBankAccountName="C Voice Bank Account" TransactionAmount_TransactionCreditAmount="-413.56" TransactionAmount_Amount="-413.56" CurrencyCode_3="USD" baseAmount_amount_1="236.32" SupBankAccountNumber="01234567" SupBankSortCode="123456" DebitCredit_Code="C" ReportingAmount_ReportingCreditAmount="-413.56" ReportingAmount_ReportingDebitAmount="0.00" BankProcessDate_1="20191106" AccountCode_1="CVOI001" ProfileCode_param="BACS">
                <subreport>
                    <Report Name="FPPD2_s1.srdl">
                        <Detail_2_1>
                            <Detail_2_1_Group_Collection>
                                <Item PaymentAccount="52100" BankAccountName="Own Bank Account" BankAccountNumber="0011223344" />
                            </Detail_2_1_Group_Collection>
                        </Detail_2_1>
                    </Report>
                </subreport>
            </Item>
        </Detail_2_1_Group_Collection>
    </Detail_2_1>
</Report>

Я пытался получить значение PaymentAccount ("52100"). Вот мой код, но он ничего не возвращает

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:ns2="FPPD2_AL2.srdl"
xmlns:sr1="FPPD2_s1.srdl">

<xsl:output method="text"/>

<xsl:template match="ns2:Report">

    <xsl:value-of select="ns2:Detail_2_1/ns2:Detail_2_1_Group_Collection/ns2:Item/ns2:subreport/ns2:Report/ns2:Detail_2_1/ns2:Detail_2_1_Group_Collection/Item[Name='PaymentAccount']"/>

</xsl:template>


</xsl:stylesheet>

Я довольно новичок в XSLT, поэтому я не знаю, что-то не так с моим синтаксисом или структурой?

Спасибо

1 Ответ

0 голосов
/ 07 ноября 2019

Вместо:

.../Item[Name='PaymentAccount']

используйте:

.../ns2:Item/@PaymentAccount    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...