我试图根据不同标签的属性获得不同的值。我的xml输入:
<parties>
<party code="ADV" id="BOFAUS3NXXX" extension="1">
<name1>BANK OF AMERICA, N.A.</name1>
<city>Code: NY3-222-14-03</city>
<street>Bank of America Merrill Lynch Mail</street>
<country>US</country>
<swift_address/>
</party>
<party code="BNE" id="11111111-1" extension="1">
<name1>BBA Customer 1</name1>
<city>PROVIDENCIA</city>
<street>PROVIDENCIA 1645</street>
<country>ES</country>
<swift_address/>
</party>
</parties>
Run Code Online (Sandbox Code Playgroud)
如果方代码=“ ADV”,我正在尝试获取name1内的值
我尝试使用以下表达式,但它不起作用:
<xsl:if test="value-of select=("ns1:parties/ns1:party/@code")='ADV'">
<td>1st Advising Bank Name: <xsl:value-of select="ns1:parties/ns1:party/name1/></td>
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
提前致谢
您要寻找的表情是这个
<xsl:if test="parties/party/@code='ADV'">
<td>1st Advising Bank Name: <xsl:value-of select="parties/party[@code='ADV']/name1" /></td>
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
注意,我在ns1这里排除了名称空间前缀,因为显示的XML示例没有声明任何名称空间。
或者,使用模板匹配。使用xsl:apply-templates来选择匹配的party元素
<xsl:apply-templates select="parties/party[@code='ADV']" />
Run Code Online (Sandbox Code Playgroud)
然后有一个模板来匹配它
<xsl:template match="party">
<td>1st Advising Bank Name: <xsl:value-of select="name1" /></td>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6860 次 |
| 最近记录: |