Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst XML Datei mit Powershell splitten

Mitglied: LianenSchwinger

LianenSchwinger (Level 1) - Jetzt verbinden

16.03.2017 um 16:13 Uhr, 1620 Aufrufe, 2 Kommentare

Hallo,

ich habe eine riesige Exportdatei im XML-Format die ich nicht weiterverarbeiten kann.
Der Aufbau ist wie folgt:
01.
<?xml version="1.0" encoding="ISO-8859-1"?> 
02.
<ERGEBNISSE>
03.
	<CALC>
04.
		<MANDANT/>
05.
		<ARTNO>1234567</ARTNO>
06.
		<ORDERNO/>
07.
		<PRAEFERENZ>1</PRAEFERENZ>
08.
		<PRODCOU>DE</PRODCOU>
09.
		<SELLCOU>TN</SELLCOU>
10.
		<DATUM>01.01.2017</DATUM>
11.
		<UHRZEIT>10:50:21</UHRZEIT>
12.
		<AWRUL>DE</AWRUL>
13.
		<PREFUL>DE</PREFUL>
14.
		<EXWPREIS>36,57</EXWPREIS>
15.
		<PPER>1</PPER>
16.
		<MINEXWPREIS>0,075</MINEXWPREIS>
17.
	</CALC>
18.
	<CALC>
19.
		<MANDANT/>
20.
		<ARTNO>1234567</ARTNO>
21.
		<ORDERNO/>
22.
		<PRAEFERENZ>1</PRAEFERENZ>
23.
		<PRODCOU>DE</PRODCOU>
24.
		<SELLCOU>XC</SELLCOU>
25.
		<DATUM>01.01.2017</DATUM>
26.
		<UHRZEIT>10:50:21</UHRZEIT>
27.
		<AWRUL>DE</AWRUL>
28.
		<PREFUL>DE</PREFUL>
29.
		<EXWPREIS>36,57</EXWPREIS>
30.
		<PPER>1</PPER>
31.
		<MINEXWPREIS>0,075</MINEXWPREIS>
32.
	</CALC>
33.
	<CALC>
34.
		<MANDANT/>
35.
		<ARTNO>1234567</ARTNO>
36.
		<ORDERNO/>
37.
		<PRAEFERENZ>1</PRAEFERENZ>
38.
		<PRODCOU>DE</PRODCOU>
39.
		<SELLCOU>XL</SELLCOU>
40.
		<DATUM>01.01.2017</DATUM>
41.
		<UHRZEIT>10:50:21</UHRZEIT>
42.
		<AWRUL>DE</AWRUL>
43.
		<PREFUL>DE</PREFUL>
44.
		<EXWPREIS>36,57</EXWPREIS>
45.
		<PPER>1</PPER>
46.
		<MINEXWPREIS>0,075</MINEXWPREIS>
47.
	</CALC>
48.
	<CALC>
49.
		<MANDANT/>
50.
		<ARTNO>1234567</ARTNO>
51.
		<ORDERNO/>
52.
		<PRAEFERENZ>1</PRAEFERENZ>
53.
		<PRODCOU>DE</PRODCOU>
54.
		<SELLCOU>XS</SELLCOU>
55.
		<DATUM>01.01.2017</DATUM>
56.
		<UHRZEIT>10:50:21</UHRZEIT>
57.
		<AWRUL>DE</AWRUL>
58.
		<PREFUL>DE</PREFUL>
59.
		<EXWPREIS>36,57</EXWPREIS>
60.
		<PPER>1</PPER>
61.
		<MINEXWPREIS>0,075</MINEXWPREIS>
62.
	</CALC>
63.
</ERGEBNISSE>
Ich benötige ein Powershell-Script welches die Datei splittet, so dass pro Datei ein Node vom Typ CALC enthalten ist.
Alsa DAteiname wäre es schön eine Kombination aus ARTNO_PRODCOU_SELLCOU zu bekommen.

Datei 1 (1234567_DE_TN.xml):
01.
<?xml version="1.0" encoding="ISO-8859-1"?> 
02.
<ERGEBNISSE>
03.
	<CALC>
04.
		<MANDANT/>
05.
		<ARTNO>1234567</ARTNO>
06.
		<ORDERNO/>
07.
		<PRAEFERENZ>1</PRAEFERENZ>
08.
		<PRODCOU>DE</PRODCOU>
09.
		<SELLCOU>TN</SELLCOU>
10.
		<DATUM>01.01.2017</DATUM>
11.
		<UHRZEIT>10:50:21</UHRZEIT>
12.
		<AWRUL>DE</AWRUL>
13.
		<PREFUL>DE</PREFUL>
14.
		<EXWPREIS>36,57</EXWPREIS>
15.
		<PPER>1</PPER>
16.
		<MINEXWPREIS>0,075</MINEXWPREIS>
17.
	</CALC>
18.
</ERGEBNISSE>
Datei 2 (1234567_DE_XC.xml):
01.
<?xml version="1.0" encoding="ISO-8859-1"?> 
02.
<ERGEBNISSE>
03.
	<CALC>
04.
		<MANDANT/>
05.
		<ARTNO>1234567</ARTNO>
06.
		<ORDERNO/>
07.
		<PRAEFERENZ>1</PRAEFERENZ>
08.
		<PRODCOU>DE</PRODCOU>
09.
		<SELLCOU>XC</SELLCOU>
10.
		<DATUM>01.01.2017</DATUM>
11.
		<UHRZEIT>10:50:21</UHRZEIT>
12.
		<AWRUL>DE</AWRUL>
13.
		<PREFUL>DE</PREFUL>
14.
		<EXWPREIS>36,57</EXWPREIS>
15.
		<PPER>1</PPER>
16.
		<MINEXWPREIS>0,075</MINEXWPREIS>
17.
	</CALC>
18.
</ERGEBNISSE>
usw.

Die einzelnen Nodes mir ausgeben zu lassen habe ich hinbekommen.
01.
([xml](Get-Content "Ergebnis_14031-0163.xml")).SelectNodes("//CALC")
Da ich blutiger Anfänger bin reicht es leider nicht für den Rest.

G LianenSchwinger
Mitglied: 132692
LÖSUNG 16.03.2017, aktualisiert um 18:06 Uhr
Z.B. so
01.
$xml = [xml](Get-Content "Ergebnis_14031-0163.xml")
02.
$xml.SelectNodes("//CALC") | %{
03.
    $name = $_.Mandant.Artno + "_" + $_.prodcou + "_" + $_.sellcou + ".xml"
04.
    "<?xml version=`"1.0`" encoding=`"ISO-8859-1`"?><ERGEBNISSE>$($_.outerXML)</ERGEBNISSE>" | set-content $name
05.
}
p.
Bitte warten ..
Mitglied: LianenSchwinger
16.03.2017 um 16:44 Uhr
Hallo pattern,

danke für Dein Script musste nur den Dateistring abändern damit es läuft.

01.
    $name = $_.Mandant.Artno.value + "_" + $_.prodcou.value + "_" + $_.sellcou.value + ".xml" 
in

01.
    $name = $_.ARTNO + "_" + $_.PRODCOU + "_" + $_.SELLCOU + ".xml" 

Danke und Gruß
LianenSchwinger
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell .xml Datei mit Zeitstempel öffnen

gelöst Frage von BaphometBatch & Shell1 Kommentar

Hallo liebe Community, nach leider erfolgloser Google-Suche richte ich mich an Euch um evtl. eine Lösung für mein Thema ...

Batch & Shell

Powershell Performanceproblem bei Auswertung einer XML-Datei

Frage von KraemerBatch & Shell1 Kommentar

Moin zusammen, ich habe da ein kleines (extrem großes) Performanceproblem, bei dem ich ein wenig Hilfe brauche. Es geht ...

XML

XML-Datei mit Powershell editieren, 3. Teil

gelöst Frage von Jensxx1975XML2 Kommentare

Hallo zusammen, ich brauche nochmal Hilfe. Geht um folgendes, das hier läuft: XML-Teil: das aber nicht: XML-Teil: Ich erkenne ...

XML

XML-Datei mit Powershell editieren, 2. Teil

gelöst Frage von Jensxx1975XML13 Kommentare

Hallo zusammen, habe hier aus dem Form eine Script-Zeile erhalten um ein XML-File zu editieren. Läuft wunderbar. Nun möchte ...

Neue Wissensbeiträge
Windows Installation

Windows Install ISO mit übergroßer Install.wim auf FAT32 übertragen

Tipp von Lochkartenstanzer vor 1 TagWindows Installation9 Kommentare

Moin Kollegen, Viele von euch werden sicher aus praktischen Gründen nicht nur DVDs oder "virtuelle" CD-Laufwerke (Zalman, IODD) zum ...

Datenschutz

Gehe zurück auf Los, ziehe keine 4.000 Mark. E-Privacy (erstmal) gescheitert

Information von certifiedit.net vor 2 TagenDatenschutz

Webbrowser

Firefox 71 verfügbar mit Picture in Picture Funktion

Information von sabines vor 2 TagenWebbrowser2 Kommentare

Die neue Firefox Version 71 unterstützt, zunächst nur für Windows, Picture in Picture. Damit kann ein Video in einem ...

E-Mail
SPF beim Versenden testen
Tipp von StefanKittel vor 4 TagenE-Mail3 Kommentare

Hallo, wenn man einen SPF für einen Exchange, oder anderen Mail-Server, konfigiruert muss man das ja auch testen. Ganz ...

Heiß diskutierte Inhalte
Server-Hardware
Hetzner Dedicated-Server für Terminalserver - RDSH 5 Benutzer gesucht
gelöst Frage von ra-user10Server-Hardware36 Kommentare

Hallo liebe IT-Fachleute! Ich möchte für unseren kleinen Betrieb einen Terminalserver aufsetzen und dafür das Angebot von Hetzner nutzen. ...

Switche und Hubs
PoE in erster und zweiter Instanz
Frage von moinmoin2016Switche und Hubs25 Kommentare

Moin. Ich habe versucht zum folgenden Sachverhalt ein Beitrag zu suchen, konnte aber nichts passendes finden. Folgender Sachverhalt: Ein ...

Hyper-V
Wie berechne ich mir die Anzahl der vCPU für HYPER-V aus?
Frage von samet22Hyper-V20 Kommentare

Hallo, bitte nicht schimpfen, ich habe mich nur selber gerade etwas verwirrt :D Wie berechne ich mir aus wieviele ...

Entwicklung
Powershell-Skript und Organisationseinheiten auskludieren
gelöst Frage von informatikkfmEntwicklung13 Kommentare

Hallo, ich habe ein Powershell-Skript, ähnlich wie das folgende. Ich möchte dabei, dass alle Benutzer unterhalb der OUs in ...