Xml 如果某个变量等于某个特定值,我需要运行一个循环吗?
我对XML和XSL非常陌生,遇到了一些问题。我浏览了互联网,尝试了几乎所有我看到的东西,但我就是无法让它发挥作用。我需要的是输出地址为发货地址的所有人的姓名 以下是XML:Xml 如果某个变量等于某个特定值,我需要运行一个循环吗?,xml,xslt,Xml,Xslt,我对XML和XSL非常陌生,遇到了一些问题。我浏览了互联网,尝试了几乎所有我看到的东西,但我就是无法让它发挥作用。我需要的是输出地址为发货地址的所有人的姓名 以下是XML: <?xml version="1.0"?> <PurchaseOrders> <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address Type="Shipping">
<?xml version="1.0"?>
<PurchaseOrders>
<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
<Address Type="Shipping">
<Name>Ellen Adams</Name>
<Street>123 Maple Street</Street>
</Address>
<Address Type="Billing">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
</Address>
</PurchaseOrder>
<PurchaseOrder PurchaseOrderNumber="99505" OrderDate="1999-10-22">
<Address Type="Shipping">
<Name>Cristian Osorio</Name>
<Street>456 Main Street</Street>
</Address>
<Address Type="Billing">
<Name>Cristian Osorio</Name>
<Street>456 Main Street</Street>
</Address>
</PurchaseOrder>
艾伦·亚当斯
枫树街123号
大仪
橡树大道8号
克里斯蒂安·奥索里奥
大街456号
克里斯蒂安·奥索里奥
大街456号
这是我到目前为止的xml—请记住,我不知道我在做什么!:):
客户信息
顾客
这样试试
XSLT1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/PurchaseOrders">
<html>
<head>
<title>Customer Info</title>
</head>
<body>
<table border="1">
<thead>
<tr bgcolor="yellow">
<th>Customer</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="PurchaseOrder/Address[@Type='Shipping']"/>
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Address">
<tr>
<td>
<xsl:value-of select="Name" />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
客户信息
顾客
注意使用xsl:apply-templates
完成的过滤;这消除了以后对条件的需要 这是一个很好的开始。根据您的测试输入,通过编辑您的预期输出,让它变得很棒。祝你好运。这也让事情变得容易多了。我知道这很容易,我只是忽略了。非常感谢。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/PurchaseOrders">
<html>
<head>
<title>Customer Info</title>
</head>
<body>
<table border="1">
<thead>
<tr bgcolor="yellow">
<th>Customer</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="PurchaseOrder/Address[@Type='Shipping']"/>
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Address">
<tr>
<td>
<xsl:value-of select="Name" />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>