Zwei Daten innerhalb einer xml umschreiben
Hallo,
zwecks Import in unser System müsste ich zwei Daten innerhalb einer xml wie folgt umschreiben:
firstName="Heinfried" lastName="Wiehe"
umschreiben in
firstName="Heinfried Wiehe" lastName=""
Es soll also firstName und lastName in firstName stehen mit Leerzeichen getrennt und lastName soll leer sein
nach Möglichkeit per batch für mehrere innerhalb eines Ordners.
VG
zwecks Import in unser System müsste ich zwei Daten innerhalb einer xml wie folgt umschreiben:
firstName="Heinfried" lastName="Wiehe"
umschreiben in
firstName="Heinfried Wiehe" lastName=""
Es soll also firstName und lastName in firstName stehen mit Leerzeichen getrennt und lastName soll leer sein
nach Möglichkeit per batch für mehrere innerhalb eines Ordners.
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 543947
Url: https://administrator.de/contentid/543947
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
5 Kommentare
Neuester Kommentar
Wie sieht die XML-Datei von Anfang an bis zu den gewünschten Änderungen aus? Brauchen wir hier für den XPath bzw. um das korrekte Element zu erwischen (Bitte nur in Codetags posten! Danke.)
Ist das auch wirklich der Anfang? Da fehlt nämlich schon die XML Deklaration.
Und was hatte ich oben extra geschrieben?? CODETAGS benutzen!! Links in der Symbolleiste das </>
Und was hatte ich oben extra geschrieben?? CODETAGS benutzen!! Links in der Symbolleiste das </>
Na denn, ich gehe von folgendem XML aus
Dann das Powershell-Skript hier nehmen und Ordner in erster Zeile anpassen.
Fertsch. Feierabend.
<?xml version="1.0" encoding="utf-8"?>
<shipping fee="4.99" netfee="4.193277310924" shippingType="MAIL">
<price gross="4.99" net="4.193277310924" tax="0.796722689075">
<taxpart tax="0.796722689075" taxcode="4" taxpercent="19"/>
</price>
<address area="" city="Gelsenkirchen" cityPart="" company="" countryCode="DE" firstName="Heinfried" lastName="Wiehe" province="" salutation="Herr" street="Im Busche 4" zip="45889"/>
</shipping>
Dann das Powershell-Skript hier nehmen und Ordner in erster Zeile anpassen.
$ordner = 'D:\Ordner'
Get-ChildItem $ordner -Filter *.xml -File | %{
write-host "Bearbeite Datei : '$($_.Fullname)'"
$xml = New-Object XML
$xml.Load($_.Fullname)
$xml.shipping.address.firstName = $xml.shipping.address.firstName + " " + $xml.shipping.address.lastName
$xml.shipping.address.lastName = ""
$xml.Save($_.Fullname)
}
Wenn's das dann war bitte auch als gelöst markieren. Danke.