这是我要为其编写xsl文件的xml文件。此xsl的目的是使用java xml转换用于xml到html的转换。
我正在尝试在我的xsl文件中实现此逻辑,但无法实现。
for each loop Id = PO1
if segment Id = PO1
if element Id = PO103
print its value (i.e. CS)
if loop Id = PID
if segment Id = PID
if element Id = PID05
print its value (i.e. BANANAS, ...)
任何帮助都将不胜感激。
答案 0 :(得分:3)
以这种方式尝试:
<xsl:for-each select="//loop[@Id='PO1']/segment[@Id='PO1']/element[@Id='PO103']
|
//loop[@Id='PID']/segment[@Id='PID']/element[@Id='PID05'] ">
<!-- whatever "print" means goes here -->
</xsl:for-each>
P.S。请将您的XML发布为代码,而不是图片。
答案 1 :(得分:0)
谢谢你user3016153,在你的帮助下,我可以解决我的问题:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>HTML generated by XSLT stylesheet from EDI input</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Value</th>
</tr>
<xsl:for-each select="//loop[@Id='PO1']/segment[@Id='PO1']/element[@Id='PO103']
|
//loop[@Id='PID']/segment[@Id='PID']/element[@Id='PID05'] ">
<tr>
<td><xsl:value-of select="@Id"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>