xsl 从列表中检索属性值

xsl retrieve attribute value from list

我想将 xml 导出为另一种 xml 格式 我有这种 xml 格式,但我不知道如何检索特定属性值

<customer customer-no="DEV04-00058013">
    <credentials>
        <login>demoxml@yopmail.com</login>
        <password encrypted="true" encryptionScheme="scrypt">$s0$b0401$IsYbtazLWWpFB5YgeN7TXg==$AbbSrO+0531izm83P4UGPNBXt8QiS56V8ARq5IVTfqw=</password>
        <enabled-flag>true</enabled-flag>

    </credentials>
    <profile>
        <salutation/>
        <title/>
        <first-name>Demo</first-name>
        <second-name/>
        <last-name>Xml</last-name>
        <suffix/>
        <company-name/>
        <job-title/>
        <email>demoxml@yopmail.com</email>   
        <gender>1</gender>
        <custom-attributes>
            <custom-attribute attribute-id="PB_favoriteStore">002</custom-attribute>
            <custom-attribute attribute-id="CAP_EmailScoring">00002</custom-attribute>
            <custom-attribute attribute-id="PB_offersViaMail">false</custom-attribute>
            <custom-attribute attribute-id="PB_offersViaSMS">false</custom-attribute>
        </custom-attributes>
    </profile>
    <note/>
</customer>

我想知道如何检索 PB_favoriteStore 值。 我试过了

没有成功。 谢谢你的帮助

我不是 100% 确定您需要什么,但以下 XPath 将 select attribute-id 所在的元素 "PB_favoriteStore":

//profile/custom-attributes/custom-attribute[@attribute-id='PB_favoriteStore']

如果您需要 select XSL 中的值,您可以使用:

<xsl:value-of select="//profile/custom-attributes/custom-attribute[@attribute-id='PB_favoriteStore']"/>