0
我需要使用XSLT文件將某些XML轉換爲CSV文件。 XML代碼以下面的縮寫形式列出。 CSV格式我正在尋找的是 主機名,generationDate,設備ID所需的CSVXML轉換爲CSV
DESKTOP-H3B7ONO,20171014T100948Z,3A80-071084
的
例子,我只需要從XML文件3個值,其餘的可以忽略不計。
<?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
元素不重複)。
我曾嘗試以下樣式表
<?xml version="1.0" encoding="Utf-8" ?>
<xsl:stylesheet xmlns:xsl="w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text" encoding="Utf-8" />
<xsl:template match="basic">
<xsl:for-each select="property">
<xsl:value-of select="value" />
<xsl:text>,</xsl:text>
<xsl:text></xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
那麼你需要這三個值中的一個行還是你認爲會有幾個這三個要素的?在後一種情況下,他們是兄弟姐妹還是對於你感興趣的三個元素的任何「記錄/行」有一個新的「基本」父母?你有什麼嘗試?任何XPath教程都涵蓋了使用XPath選擇元素。 –
只有一個記錄,所有在基本的,我只對這3個元素感興趣,我試過以下 <?xml version =「1.0」encoding =「Utf-8」?> <的xsl:for-每個選擇= 「屬性」> 的-的值 的xsl:for-each>的 xsl:stylesheet> –
user3129787
關閉選民的注意事項:我無法想出任何方式來理解此問題,並且不能將其理解爲aq在幫助中心的範圍說明中對編程有疑問。你能解釋一下嗎?這個問題描述了程序員通常使用的涉及工具的具體編程問題(這裏:XSLT作爲編程語言),而且問題很實際並且可以回答。 –