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, 1330 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
Off Topic
Europawahl 2019
Information von Frank vor 1 StundeOff Topic

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Humor (lol)

Minister wollen offenbar Ausweispflicht für .de-Domain

Information von Kraemer vor 14 StundenHumor (lol)7 Kommentare

Zitat von Golem.de: Die zuständigen Verbraucherschutzminister fordern einem Medienbericht zufolge offenbar eine Ausweispflicht für .de-Domains. Das soll Betrugsfälle mit ...

Off Topic
Was als Noob hier mal gesagt werden musste
Information von th30ther vor 2 TagenOff Topic5 Kommentare

Moinsen wertes Forum, ich möchte mich an dieser Stelle mal beim Forum generell und bei aqui speziell bedanken! Ich ...

Windows 10
Windows 10 Mai 2019 Update (Version 1903) ist da
Information von kgborn vor 2 TagenWindows 109 Kommentare

Nur ein kurzer Infosplitter: Microsoft hat die Nacht (21. Mai 2019) das Funktionsupdate auf Windows 10 Version 1903 freigegeben. ...

Heiß diskutierte Inhalte
Ausbildung
Wie sind eure Erfahrungen als oder mit Ü30 Azubis für Fachinformatik Systemintegration?
Frage von CaptainProcessorAusbildung24 Kommentare

Tagchen allerseits :) Mir steht in wenigen Monaten eine Veränderung bevor, da mein AG seine IT auslagert und ich ...

LAN, WAN, Wireless
Gleichzeitiger Zugriff übers Netzwerk: SSD vs HDD
gelöst Frage von ahussainLAN, WAN, Wireless20 Kommentare

Hallo, ich möchte in einem Rechner eine zusätzliche SATA-Festplatte einbauen und von dort diverse Ordner übers Netzwerk (Gigabit Ethernet) ...

Netzwerkmanagement
Gateprotect Firewall - Internetseiten werden teilw. nicht geladen
Frage von KivasFNetzwerkmanagement16 Kommentare

Morgen Zusammen, ich habe ein Problem mit einer Gateprotect Firewall welches mir echt Kopfschmerzen bereitet. Die Firewall hängt an ...

Router & Routing
HP 2920 als Router konfigurieren. Bitte um Unterstützung
gelöst Frage von suedi123Router & Routing16 Kommentare

Liebe Forumsmitglieder, ich habe hier ein Problem, bei welchem ich nicht weiterkomme, weil ich mich zu wenig mit der ...