xmlsapus
Goto Top

Batch Datei, die bestimmte Zeilen aus XML löscht gesucht

Hallo zusammen,

ich habe eine XML Datei, die am Ende in SAP hochgeladen werden soll und dort ein Warenverzeichnis angelegt. Die Warennummern sind hierarchisch aufgebaut, heißt der 8 Steller steht in der Hierarchie unter dem 6 Steller und dieser unter dem 4 Steller. Ich benötige diese hierarchische Darstellung, aber nicht, da ich nur die 8-Steller im SAP haben möchte.

Ich suche daher eine Batch Datei, die mir aus meiner XML Datei, alle Lines mit dem Element
<ParentCatalogueItemID>0000012512</ParentCatalogueItemID>
Der Wert zwischen den Elementen ist hierbei natürlich unterschiedlich. Mit dem Befehl "Ersetzen" im Texteditor muss ich alle 25.000 Zeilen manuell durchgehen und den Wert immer entsprechend manuell anpassen.

Der Code meiner XML sieht beispielsweise so aus:
<Item>
		<CustomsCommodityClassificationCode>54081000</CustomsCommodityClassificationCode>
		<CatalogueItemID>0000008066</CatalogueItemID>
		<TypeCode>1</TypeCode>
		<ParentCatalogueItemID>0000008065</ParentCatalogueItemID>
		<MeasureUnitID>MTK</MeasureUnitID>
		<BasicText>
			<TypeCode>10052</TypeCode>
			<ContentText languageCode="DE">Gewebe aus hochfesten Viskosegarnen</ContentText>  
		</BasicText>
		<BasicText>
			<TypeCode>10052</TypeCode>
			<ContentText languageCode="EN"></ContentText>  
		</BasicText>
	</Item>
In der neuen Version soll die komplette 5. Zeile fehlen, damit die Nummer nicht mehr auf die entsprechend Hierarchie verweist.

Danke für Eure Tipps.

Content-Key: 71073656137

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

Printed on: December 6, 2023 at 21:12 o'clock

Member: aqui
aqui Sep 24, 2023 updated at 11:58:15 (UTC)
Goto Top
Bitte bei Angabe von Code immer die Code Tags verwenden! Das hilft allen hier und man hat auch Indexnummern zu den Zeilen.
(Als Neuuser einmal die Foren FAQs lesen ist wirklich hilfreich! ­čśë)

Kann man übrigens mit dem "Bearbeiten" Knopf auch immer noch nachträglich korrigieren! face-wink
Member: Crusher79
Solution Crusher79 Sep 24, 2023 updated at 17:00:10 (UTC)
Goto Top
Hallo,

Batch naja schwierig. Hier mit PowerShell.

$meineDatei = 'C:\Temp\test.xml'  
$xml = [xml](Get-Content $meineDatei )
$nodes = $xml.SelectNodes("//ParentCatalogueItemID")  
foreach($node in $nodes){$node.ParentNode.RemoveChild($node)}
$xml.Save($meineDatei )

mfg Crusher