sonyplaystation
Goto Top

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

Content-ID: 543947

Url: https://administrator.de/contentid/543947

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

142232
142232 05.02.2020 aktualisiert um 15:19:38 Uhr
Goto Top
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.)
SonyPlaystation
SonyPlaystation 05.02.2020 um 15:19:29 Uhr
Goto Top
<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>
142232
142232 05.02.2020 aktualisiert um 15:45:37 Uhr
Goto Top
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 </>
142232
142232 05.02.2020 aktualisiert um 15:32:00 Uhr
Goto Top
Na denn, ich gehe von folgendem XML aus

<?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)
}
Fertsch. Feierabend.
142232
142232 06.02.2020 aktualisiert um 10:28:56 Uhr
Goto Top
Wenn's das dann war bitte auch als gelöst markieren. Danke.