Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert XML to CSV not working

XML file Content:

<?xml version="1.0"?>
<servstate>
<title>2018-06-11  12:00:01</title>
<services>
<service>
<name>Oracle Weblogic AdminServer 1</name>
<state>RUNNING.</state>
</service>
<service>
<name>Oracle WebLogic NodeManager 1</name>
<state>RUNNING.</state>
</service>
<service>
<name>OracleProcessManager_1</name>
<state>RUNNING.</state>
</service>
<service>
<name>OracleProcessManager_2</name>
<state>RUNNING.</state>
</service>
<service>
<name>Oracle WebLogic NodeManager 2</name>
<state>RUNNING.</state>
</service>
<service>
<name>Oracle Weblogic AdminServer 2</name>
<state>RUNNING.</state>
</service>
</services>
</servstate>

I am new to PowerShell and written a script to parse the above XML as CSV file but I got the result as below.

Script:

$xml = [xml](Get-Content .\monitoring_services.xml)
$xml.servstate.services.service |
    Select-Object @(@{l="name";e={$_.name."#text"}}, @{l="state";e={$_.state."#text"}}) |
    Export-Csv test.csv -NoTypeInformation

Result:

"name","state"
,
,
,
,
,
,

Expected result:

"name","state"
Oracle Weblogic AdminServer 1,RUNNING.
Oracle WebLogic NodeManager 1,RUNNING.
OracleProcessManager_1,RUNNING.
OracleProcessManager_2,RUNNING.
Oracle WebLogic NodeManager 2,RUNNING.
Oracle Weblogic AdminServer 1,RUNNING.

Could you help correct what went wrong the script?

like image 922
Dheeban Chakkaravarthy Avatar asked Jun 30 '26 16:06

Dheeban Chakkaravarthy


1 Answers

Why don't you just use this?

$xml.servstate.services.service | Export-Csv test.csv -NoTypeInformation
like image 103
Sid Avatar answered Jul 06 '26 00:07

Sid



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!