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
Please also mark the comments that contributed to the solution of the article
Content-Key: 543947
Url: https://administrator.de/contentid/543947
Printed on: April 20, 2024 at 03:04 o'clock
5 Comments
Latest comment
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.