For each in XML / XLS fil
Hej eksperter,Jeg har brug for at få noget data fra en XML ud i CSV format til videre behandling.
Jeg har følg. XML fil:
-----------------
<machines>
<machine>
<host_name>COMPUTERNAVN</host_name>
<computer_name>COMPUTERNAVN</computer_name>
<windows_domain_name>WINDOWSDOMÆNE</windows_domain_name>
<cpu_speed>3400</cpu_speed>
<cpu_type>Intel(R) Xeon(TM) CPU 3.40GHz</cpu_type>
<ram>3583</ram>
<network_settings>
<adapter>
<name>HP NC7782 Gigabit Server Adapter #2</name>
<ip_type>static</ip_type>
<ip_address>10.1.1.21</ip_address>
<mac_address>00:00:00:00:00:00</mac_address>
<subnet_masks>255.255.254.0</subnet_masks>
<gateway>10.1.1.254</gateway>
</adapter>
</network_settings>
<services>
<name>Alerter</name>
<name>WinHTTP Web Proxy Auto-Discovery Service</name>
<name>Wireless Configuration</name>
<name>WMI Performance Adapter</name>
<name>Workstation</name>
<name>World Wide Web Publishing Service</name>
</services>
<software>
<name>Security Update for Windows Server 2003 (KB896422)</name>
<name>Security Update for Windows Server 2003 (KB899588)</name>
<name>Security Update for Windows Server 2003 (KB913446)</name>
<name>Security Update for Windows Server 2003 (KB914388)</name>
<name>Security Update for Windows Server 2003 (KB917159)</name>
</software>
</machine>
</machines>
-----------------
(en masse er fjernet af hensyn til pladsen!)
Derudover har jeg følg. XSL fil:
-----------------
<?xml version="1.0"?>
<xsl:stylesheet version = "1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:strip-space elements = "machines"/>
<xsl:template match="machine">
<xsl:text/>
<xsl:value-of select="normalize-space(host_name)"/>;<xsl:text/>
<xsl:value-of select="normalize-space(ram)"/>;<xsl:text/>
<xsl:value-of select="normalize-space(network_settings/adapter/ip_address)"/>;<xsl:text/>
<xsl:for-each select="services">
<xsl:value-of select="name"/>|<xsl:text/>
</xsl:for-each>
<xsl:for-each select="software">
<xsl:value-of select="normalize-space(name)"/>|<xsl:text/>
</xsl:for-each>
<xsl:value-of select="normalize-space(computer_name)"/>; <xsl:text/>
<xsl:text disable-output-escaping = "yes" >
</xsl:text>
</xsl:template>
</xsl:stylesheet>
-----------------
Det er Services og Software jeg ikke kan få ud - jo, den første post kommer, men så kommer der ikke flere! Jeg har prøvet at søge rundt på nettet,
men kan simpelthen ikke finde nogle steder hvor der står dette beskrevet.
Jeg har et VBS script som bruger både XML og XSL filen til at gemme det som en CSV fil.
Takker
Hilsen
Claus