我们需要将xml消息转换为更易读的格式,因此我尝试添加一些XSL。 我很难以我想要的方式列出所有内容。
我对XSL很陌生,所以可以提供一些帮助。
这是XML文件的一部分:
<biotronik-ieee11073-export format-version="3.0" creator="BioProgrammerConverter" creator-version="3.1">
<dataset>
<section name="MDC">
<section name="ATTR">
<section name="PT">
<value name="SEX" type="String">0</value>
</section>
</section>
<section name="IDC">
<section name="PG">
<value name="TYPE" type="MDC_IDC_ENUM_PG_TYPE">IPG</value>
<value name="MODEL" type="String">Evia DR-T</value>
<value name="SERIAL" type="String">xxxxxxxx</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">BIO</value>
<value name="IMPLANT_DT" type="DateTime">20091126</value>
</section>
<section name="LEAD">
<value name="MODEL" type="String">4524</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">MDT</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RA</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>
</section>
<section name="LEAD">
<value name="MODEL" type="String">T 44 F</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">ELA</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RV</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>
</section>
在某种程度上,我想在node = IDC
下显示所有标签我试过跟随XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Biotronics Results</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Test</th>
<th>Value</th>
</tr>
<xsl:for-each select="/biotronik-ieee11073-export/dataset/section[@name='MDC']/section[@name='IDC']">
<xsl:for-each select="section">
<xsl:for-each select="value">
<tr>
<td><xsl:value-of select="value"/></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
帮助将不胜感激。感谢
答案 0 :(得分:0)
你想要:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select="//section[@name='IDC']//value"/>
</xsl:template>
</xsl:stylesheet>
在提供的XML文档上应用此转换时:
<biotronik-ieee11073-export format-version="3.0" creator="BioProgrammerConverter" creator-version="3.1">
<dataset>
<section name="MDC">
<section name="ATTR">
<section name="PT">
<value name="SEX" type="String">0</value>
</section>
</section>
<section name="IDC">
<section name="PG">
<value name="TYPE" type="MDC_IDC_ENUM_PG_TYPE">IPG</value>
<value name="MODEL" type="String">Evia DR-T</value>
<value name="SERIAL" type="String">xxxxxxxx</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">BIO</value>
<value name="IMPLANT_DT" type="DateTime">20091126</value>
</section>
<section name="LEAD">
<value name="MODEL" type="String">4524</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">MDT</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RA</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>
</section>
<section name="LEAD">
<value name="MODEL" type="String">T 44 F</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">ELA</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RV</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>
</section>
</section>
</section>
</dataset>
</biotronik-ieee11073-export>
产生了想要的正确结果:
<value name="TYPE" type="MDC_IDC_ENUM_PG_TYPE">IPG</value>
<value name="MODEL" type="String">Evia DR-T</value>
<value name="SERIAL" type="String">xxxxxxxx</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">BIO</value>
<value name="IMPLANT_DT" type="DateTime">20091126</value>
<value name="MODEL" type="String">4524</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">MDT</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RA</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>
<value name="MODEL" type="String">T 44 F</value>
<value name="MFG" type="MDC_IDC_ENUM_MFG">ELA</value>
<value name="POLARITY_TYPE" type="MDC_IDC_ENUM_LEAD_POLARITY_TYPE">BI</value>
<value name="LOCATION" type="MDC_IDC_ENUM_LEAD_LOCATION_CHAMBER">RV</value>
<value name="CONNECTION_STATUS" type="MDC_IDC_ENUM_LEAD_STATUS">Connected</value>