XML Felder neu beschreiben
Hallo,
Ich möchte per Batch-Durchlauf die Felder
firstName="Max" lastName="Mustermann"
in
firstName="Max Mustermann" lastName=""
in mehreren xml Dateien umschreiben.
xml ist leider so gar nicht meins.
anbei der Anfang der xml bis zu den Feldern, glaube der Rest wird nicht benötigt.
Danke im Voraus,
Sombetzki
Ich möchte per Batch-Durchlauf die Felder
firstName="Max" lastName="Mustermann"
in
firstName="Max Mustermann" lastName=""
in mehreren xml Dateien umschreiben.
xml ist leider so gar nicht meins.
anbei der Anfang der xml bis zu den Feldern, glaube der Rest wird nicht benötigt.
<?xml version="1.0" encoding="UTF-8"?>
-<order order-reference-id="T23174481708" partof="1" partid="1" nettotal="15.913277577953" total="18.936800317764" tax="3.023522739811" currency="EUR" id="51378320" opId="40121305" partnerName="Firma" version="1.4" schemaLocation="http://test http://test" xmlns:xsi="http://test" xmlns:ext="de.test" xmlns="http://test">
<processor version="unversioned" webType="WEB2" productType="WEB" time="12:09:03" product="test" locale="de_DE" delivery-time="12:09:03" delivery-period="120" delivery-date-meridian="PM" delivery-date="2023-08-24" delivery-12-time="12:09:03" date="2023-08-17" client-type="EXTERNAL_CART_ORDER" client-name="externalCart" action="action" location="location" softwareManufacturer="test GmbH"/>
-<price tax="3.023522739811" gross="18.936800317764" net="15.913277577953">
<taxpart tax="3.023522739811" taxcode="4" taxpercent="19"/>
</price>
-<user language="de" id="9014218770" loyaltyId="9014218770" email="noreply@test.de" acceptNewsletter="false" acceptPromotion="false">
<address fax="" area="" city="Bad Neuenahr-Ahrweiler" cityPart="" company="" countryCode="DE" firstName="Max" lastName="Mustermann" province="" salutation="" street="Himmelsburger Straße 88" zip="53474"/>
Danke im Voraus,
Sombetzki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83205220242
Url: https://administrator.de/forum/xml-felder-neu-beschreiben-83205220242.html
Ausgedruckt am: 22.12.2024 um 09:12 Uhr
10 Kommentare
Neuester Kommentar
Moin.
tio.run
Gruß sid
foreach ($file in Get-Childitem "d:\data" -File -Filter *.xml){
$xml = New-Object XML
$xml.Load($file.Fullname)
$xml.order.user.address.firstName += " " + $xml.order.user.address.lastName
$xml.order.user.address.lastName = ""
$xml.Save($file.FullName)
# in anderen Ordner verschieben
$file | move-item -Destination "x:\destination"
}
Gruß sid
Hallo Sombetzki,
Ich zeige dir hier ein PowerShell-Skript, das genau das tut, was du willst.
Wichtig: Ersetze "C:\Pfad\zu\deinem\Verzeichnis" mit dem tatsächlichen Pfad zu dem Verzeichnis, in dem sich die XML-Dateien befinden.
Kopiere das Skript und füge es in deine PowerShell-Konsole ein. Es wird alle XML-Dateien im angegebenen Verzeichnis durchlaufen und die Felder firstName und lastName entsprechend ändern.
Bitte denke daran, vorher eine Sicherungskopie der XML-Dateien zu machen, falls etwas schiefgeht.
Viel Erfolg und liebe Grüsse! 😄
Ich zeige dir hier ein PowerShell-Skript, das genau das tut, was du willst.
# PowerShell-Skript zum Ändern von XML-Feldern
# Listet alle XML-Dateien im Verzeichnis auf
$files = Get-ChildItem -Path "C:\Pfad\zu\deinem\Verzeichnis" -Filter *.xml
# Durchläuft alle XML-Dateien im Verzeichnis
foreach ($file in $files) {
# Lädt die XML-Datei
[xml]$xmlContent = Get-Content $file.FullName
# Sucht den <user> Knoten und dessen <address> Unterknoten
$addressNode = $xmlContent.order.user.address
# Ändert die firstName und lastName Felder
$addressNode.firstName = $addressNode.firstName + " " + $addressNode.lastName
$addressNode.lastName = ""
# Speichert die Änderungen in der XML-Datei
$xmlContent.Save($file.FullName)
}
Wichtig: Ersetze "C:\Pfad\zu\deinem\Verzeichnis" mit dem tatsächlichen Pfad zu dem Verzeichnis, in dem sich die XML-Dateien befinden.
Kopiere das Skript und füge es in deine PowerShell-Konsole ein. Es wird alle XML-Dateien im angegebenen Verzeichnis durchlaufen und die Felder firstName und lastName entsprechend ändern.
Bitte denke daran, vorher eine Sicherungskopie der XML-Dateien zu machen, falls etwas schiefgeht.
Viel Erfolg und liebe Grüsse! 😄
Zitat von @wobit94:
Hallo Sombetzki,
Ich zeige dir hier ein PowerShell-Skript, das genau das tut, was du willst.
Wichtig: Ersetze "C:\Pfad\zu\deinem\Verzeichnis" mit dem tatsächlichen Pfad zu dem Verzeichnis, in dem sich die XML-Dateien befinden.
Kopiere das Skript und füge es in deine PowerShell-Konsole ein. Es wird alle XML-Dateien im angegebenen Verzeichnis durchlaufen und die Felder firstName und lastName entsprechend ändern.
Bitte denke daran, vorher eine Sicherungskopie der XML-Dateien zu machen, falls etwas schiefgeht.
Viel Erfolg und liebe Grüsse! 😄
Hallo Sombetzki,
Ich zeige dir hier ein PowerShell-Skript, das genau das tut, was du willst.
# PowerShell-Skript zum Ändern von XML-Feldern
# Listet alle XML-Dateien im Verzeichnis auf
$files = Get-ChildItem -Path "C:\Pfad\zu\deinem\Verzeichnis" -Filter *.xml
# Durchläuft alle XML-Dateien im Verzeichnis
foreach ($file in $files) {
# Lädt die XML-Datei
[xml]$xmlContent = Get-Content $file.FullName
# Sucht den <user> Knoten und dessen <address> Unterknoten
$addressNode = $xmlContent.order.user.address
# Ändert die firstName und lastName Felder
$addressNode.firstName = $addressNode.firstName + " " + $addressNode.lastName
$addressNode.lastName = ""
# Speichert die Änderungen in der XML-Datei
$xmlContent.Save($file.FullName)
}
Wichtig: Ersetze "C:\Pfad\zu\deinem\Verzeichnis" mit dem tatsächlichen Pfad zu dem Verzeichnis, in dem sich die XML-Dateien befinden.
Kopiere das Skript und füge es in deine PowerShell-Konsole ein. Es wird alle XML-Dateien im angegebenen Verzeichnis durchlaufen und die Felder firstName und lastName entsprechend ändern.
Bitte denke daran, vorher eine Sicherungskopie der XML-Dateien zu machen, falls etwas schiefgeht.
Viel Erfolg und liebe Grüsse! 😄
Hat aber leider mehrere Fehler, kommt davon wenn man nur blind aus ChatGPT kopiert ...
Erstens Zeile 3 Fehlt der -File Parameter, gibt es also in der Quelle einen Ordner wie bspw. ORDNER.XML wird dieser als XML Datei behandelt und das schlägt dann natürlich fehl, dann in Zeile 8 mit der XML Umwandlungs-Methode wird das XML Declaration Encoding ignoriert und somit potentiell das falsche Encoding bei der Umwandlung verwendet, dagegen beachtet dies die Load-Methode des XML-Objects.
@7907292512: da hast Du natürlich recht. Schaut man sich allerdings die Beiträge des Users @wobit94 aus der jüngeren Zeit an, dann sind nicht nur die Quelltexte blind aus ChatGPT kopiert, sondern die gesamten Beiträge sehen doch sehr verdächtig nach 100% KI aus. Geschwätzig, meist am Kern der Sache vorbei und langatmig.
@Sombetzki: ich würde das nicht als Grundlage nehmen, sondern das, was @7907292512 so beiträgt, da steckt know-how dahinter.
Schönen Sonntag,
DivideByZero
@Sombetzki: ich würde das nicht als Grundlage nehmen, sondern das, was @7907292512 so beiträgt, da steckt know-how dahinter.
Schönen Sonntag,
DivideByZero