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-Key: 543947

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

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: 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.)
Mitglied: 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>
Mitglied: 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 </>
Mitglied: 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.
Mitglied: 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.