XML转换为CSV

时间:2017-10-14 11:28:25

标签: xml csv xslt

我需要使用XSLT文件将一些XML转换为CSV文件。 XML代码在下面以缩写形式列出。我正在寻找的CSV格式是 主机名,generationDate,设备ID

所需CSV的示例

    <li class="{{ Route::currentRouteName() == 'users-overview' ? 'active' : '' }}">
        <a href="{{ route('users-overview') }}">@lang('layouts/admin/navbar.users')</a>
    </li>

我只需要XML文件中的3个值,其余的可以忽略。

DESKTOP-H3B7ONO,20171014T100948Z,3A80-071084

输入中只有一条记录(<?xml version='1.0' encoding='UTF-8' ?> <document> <properties> <basic> <property id="hostName"> <value>DESKTOP-H3B7ONO</value> </property> <property id="generationDate"> <value>20171014T100948Z</value> </property> <property id="rotationType"> <value></value> </property> <!-- ... many properties omitted here ... --> <property id="generationEpoch"> <value>1507975788796</value> </property> <property id="machineId"> <value>3A80-071084</value> </property> <property id="application"> <value>scan</value> </property> <!-- ... more properties omitted ... --> </basic> </properties> </document> 元素不重复)。

我尝试过以下样式表

basic

1 个答案:

答案 0 :(得分:0)

你很亲密。

您可以尝试

,而不是样式表中的xsl:for-each
<xsl:value-of select="property[@id='hostName']/value"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="property[@id='generationDate']/value"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="property[@id='machineId']/value"/>