XML in CSV umwandeln mit Powershell
Guten Morgen Leute
Ich möchte eine XML Datei mit Powershell in eine CSV umwandeln. Mithilfe eines Beitrages hier bin ich schon fast ans Ziel gelangt.
Nun stehe ich jedoch beim Auslesen des Wertes bei <Status> etwas auf dem Schlauch.
Das Ergebnis liefert immer "System.Xml.XmlElement". Kann mir jemand erklären was ich hier falsch mache?
Besten Dank
XML Datei:
PS1:
Aufruf über:
Ergebnis:
Ich möchte eine XML Datei mit Powershell in eine CSV umwandeln. Mithilfe eines Beitrages hier bin ich schon fast ans Ziel gelangt.
Nun stehe ich jedoch beim Auslesen des Wertes bei <Status> etwas auf dem Schlauch.
Das Ergebnis liefert immer "System.Xml.XmlElement". Kann mir jemand erklären was ich hier falsch mache?
Besten Dank
XML Datei:
<?xml version="1.0" encoding="UTF-8"?>
<measuringManagement xmlns="http://innosolv.ch/namespace/isag">
<package>
<sender>
<user>
<userName>sa</userName>
</user>
<swSystemID>372</swSystemID>
</sender>
<transaction>
<transactionID>e6fb35a4-ece5-4d6b-a67f-9eb1f9cd8702</transactionID>
<transactionCase>2100</transactionCase>
<transactionDate>2022-01-03</transactionDate>
<transactionAcknowledge>false</transactionAcknowledge>
</transaction>
</package>
<device>
<meteringcode>CH1012801234500000000000000006129</meteringcode>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestoerter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>376.879</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>667.544</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>518.914</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>5587.246</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>1221.432</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>3176.787</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>3266.703</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>527.413</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>385.967</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1227.178</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>5693.705</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>682.866</value>
</meteredValue>
</device>
<device>
<meteringcode>CH1012801234500000000000000009875</meteringcode>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>8573.004</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>3.515</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>1288.745</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>347.801</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>1.693</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>0.417</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>0.487</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>5081.679</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>1.958</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>0.592</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>181.899</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<value>799.109</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1314.757</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>3.515</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0.487</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>352.413</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>5211.12</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>8704.12</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>183.593</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1.693</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1.958</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0.592</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0.417</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>823.482</value>
</meteredValue>
</device>
<device>
<meteringcode>CH1012801234500000000000000006129</meteringcode>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>376.879</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>667.544</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>518.914</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>5587.246</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>1221.432</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>3176.787</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2021-12-14</readingDate>
<time>2021-12-14T00:00:00</time>
<status rvcd="2">Gestörter/unplausibler Wert</status>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>3266.703</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>527.413</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>385.967</value>
</meteredValue>
<meteredValue>
<obis>1-1:5.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1227.178</value>
</meteredValue>
<meteredValue>
<obis>1-1:1.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>5693.705</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:2.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:6.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:7.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>0</value>
</meteredValue>
<meteredValue>
<obis>1-1:8.8.2</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>682.866</value>
</meteredValue>
</device>
</measuringManagement>
PS1:
param(
[parameter(mandatory=$true)][string]$xmlpath
)
# XML Datei einlesen
$xml = new-Object XML; $xml.Load($xmlpath)
# Order ID (Fremdbelegnummer extrahieren)
$deviceid = $xml.measuringmanagement.device
# Für jedes OrderItem ...
$xml.measuringManagement.device | %{
# und für jedes Subitem des Orderitem ...
foreach($meteredValue in $_.meteredValue){
# erstelle custom object mit den gewünschten Eigenschaften
[pscustomobject] @{
Messpunkt = $_.meteringcode
Obis = $meteredValue.obis
meteredValue = $meteredValue.value
Messdatum = get-date $meteredValue.readingDate -Format 'dd.MM.yyyy'
Status = $meteredValue.status
}
}
} | export-csv "$([System.IO.Path]::GetDirectoryName($xmlPath))\$([System.IO.Path]::GetFilenameWithoutExtension($xmlPath)).csv" -Delimiter ";" -NoType -Encoding UTF8
Aufruf über:
powershell -Executionpolicy Bypass -File "\\fsgdp\Eigene Dokumente\TestShell\converter.ps1" "\\fsgdp\Eigene Dokumente\TestShell\new.xml"
Ergebnis:
"Messpunkt";"Obis";"meteredValue";"Messdatum";"Status"
"CH1012801234500000000000000006129";"1-1:2.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:2.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:8.8.1";"376.879";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:6.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:8.8.2";"667.544";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:5.8.1";"518.914";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:6.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.2";"5587.246";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:5.8.2";"1221.432";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.1";"3176.787";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:7.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:7.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.1";"3266.703";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:6.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:5.8.1";"527.413";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:8.8.1";"385.967";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:5.8.2";"1227.178";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:1.8.2";"5693.705";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:7.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:2.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:2.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:6.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:7.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:8.8.2";"682.866";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:1.8.2";"8573.004";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:2.8.1";"3.515";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:5.8.2";"1288.745";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:8.8.2";"347.801";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:6.8.1";"1.693";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:7.8.2";"0.417";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:6.8.2";"0.487";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:1.8.1";"5081.679";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:2.8.2";"1.958";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:7.8.1";"0.592";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:8.8.1";"181.899";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:5.8.1";"799.109";"14.12.2021";
"CH1012801234500000000000000009875";"1-1:5.8.2";"1314.757";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:2.8.1";"3.515";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:6.8.2";"0.487";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:8.8.2";"352.413";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:1.8.1";"5211.12";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:1.8.2";"8704.12";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:8.8.1";"183.593";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:6.8.1";"1.693";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:2.8.2";"1.958";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:7.8.1";"0.592";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:7.8.2";"0.417";"01.01.2022";
"CH1012801234500000000000000009875";"1-1:5.8.1";"823.482";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:2.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:2.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:8.8.1";"376.879";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:6.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:8.8.2";"667.544";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:5.8.1";"518.914";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:6.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.2";"5587.246";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:5.8.2";"1221.432";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.1";"3176.787";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:7.8.1";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:7.8.2";"0";"14.12.2021";"System.Xml.XmlElement"
"CH1012801234500000000000000006129";"1-1:1.8.1";"3266.703";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:6.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:5.8.1";"527.413";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:8.8.1";"385.967";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:5.8.2";"1227.178";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:1.8.2";"5693.705";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:7.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:2.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:2.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:6.8.1";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:7.8.2";"0";"01.01.2022";
"CH1012801234500000000000000006129";"1-1:8.8.2";"682.866";"01.01.2022";
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1888273938
Url: https://administrator.de/forum/xml-in-csv-umwandeln-mit-powershell-1888273938.html
Ausgedruckt am: 22.12.2024 um 09:12 Uhr
3 Kommentare
Neuester Kommentar
Moin,
das Problem dürfte vermutlich sein, dass du keinen Node STATUS innerhalb des Knotens "meteredValue" hast!?
Das sind deine vier Werte:
du fragst im Powershell.Script aber noch den hier ab:
Edit: Mittendrin gibt es den dann doch - den hab ich übersehen. In dem Fall siehe @colinardo
das Problem dürfte vermutlich sein, dass du keinen Node STATUS innerhalb des Knotens "meteredValue" hast!?
Das sind deine vier Werte:
<obis>1-1:6.8.1</obis>
<readingDate>2022-01-01</readingDate>
<time>2022-01-01T00:00:00</time>
<value>1.693</value>
du fragst im Powershell.Script aber noch den hier ab:
Status = $meteredValue.status
Edit: Mittendrin gibt es den dann doch - den hab ich übersehen. In dem Fall siehe @colinardo
Servus @Barick, willkommen auf Administrator.de!
bzw. alternativ geht auch '#text'
Grüße Uwe
<status rvcd="2">Gestörter/unplausibler Wert</status>
Da "status" ein Element ist welches mehr als nur einen einfachen Textknoten beinhaltet (er enthält auch ein Attribut!) wird beim zurückgeben von $meteredValue.status das gesamte Object also inklusive Attribut genommen und deswegen als Klassenname des Objects in die CSV geschrieben, denn die PS weiß ja nicht was du aus dem Object in der der Spalte haben willst. Wenn du nur den Textnode des Knotens brauchst musst du auch noch die entsprechende Property abrufen. Für den Element-Inhalt wäre dies hier innerTextStatus = $meteredValue.status.innerText
Status = $meteredValue.status.'#text'