通过XSLT将XML转换为文本

通过XSLT将XML转换为文本,xslt,Xslt,这是原始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="FP

这是原始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非常陌生,所以我不知道我的语法或结构是否有问题

谢谢你,而不是:

.../Item[Name='PaymentAccount']
使用:


谢谢你,迈克尔。我试过了,但还是没有回来anything@user2313823这对我很有用:
.../ns2:Item/@PaymentAccount