Zum Inhalt springen

XML mit PHP Sortieren


Empfohlene Beiträge

Guten Tag zusammen,

ich bin auf der Suche nach Lösungsvorschlägen für folgendes Problem.

Ich Habe ein XML-File mit folgender Struktur:

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<DataList>
	<ItemJournalLineList>
		<TableID>83</TableID>
		<FormID>0</FormID>
		<ItemJournalLine>
			<JournalTemplateName>INVENTUR</JournalTemplateName>
			<LineNo>20000</LineNo>
			<ItemNo>ML0001</ItemNo>
			<PostingDate>10.10.16</PostingDate>
			<EntryType>Zugang</EntryType>
			<DocumentNo>T3</DocumentNo>
			<Description>Drahtstifte 1,4 x 25</Description>
			<LocationCode>MAINKA-LIN</LocationCode>
			<Quantity>0</Quantity>
			<UnitAmount>0</UnitAmount>
			<UnitCost>0</UnitCost>
			<Amount>0</Amount>
			<AppliestoEntry>0</AppliestoEntry>
			<IndirectCost>0</IndirectCost>
			<JournalBatchName>INVENTUR</JournalBatchName>
			<QtyCalculated>100</QtyCalculated>
			<QtyPhysInventory>90</QtyPhysInventory>
			<GenBusPostingGroup>INL</GenBusPostingGroup>
			<GenProdPostingGroup>V19</GenProdPostingGroup>
			<DocumentDate>10.10.16</DocumentDate>
			<VariantCode></VariantCode>
			<BinCode>R04-F10-E03-P04</BinCode>
			<UnitofMeasureCode>KG</UnitofMeasureCode>
			<Description2></Description2>
		</ItemJournalLine>
		<ItemJournalLine>
			<JournalTemplateName>INVENTUR</JournalTemplateName>
			<LineNo>30000</LineNo>
			<ItemNo>ML0002</ItemNo>
			<PostingDate>10.10.16</PostingDate>
			<EntryType>Zugang</EntryType>
			<DocumentNo>T3</DocumentNo>
			<Description>Drahtstifte 1,8 x 35</Description>
			<LocationCode>MAINKA-LIN</LocationCode>
			<Quantity>0</Quantity>
			<UnitAmount>0</UnitAmount>
			<UnitCost>0</UnitCost>
			<Amount>0</Amount>
			<AppliestoEntry>0</AppliestoEntry>
			<IndirectCost>0</IndirectCost>
			<JournalBatchName>INVENTUR</JournalBatchName>
			<QtyCalculated>-6,5</QtyCalculated>
			<QtyPhysInventory>-6,5</QtyPhysInventory>
			<GenBusPostingGroup></GenBusPostingGroup>
			<GenProdPostingGroup>V19</GenProdPostingGroup>
			<DocumentDate>10.10.16</DocumentDate>
			<VariantCode></VariantCode>
			<BinCode>R04-F10-E03-P03</BinCode>
			<UnitofMeasureCode>KG</UnitofMeasureCode>
			<Description2></Description2>
		</ItemJournalLine>
		<ItemJournalLine>
			<JournalTemplateName>INVENTUR</JournalTemplateName>
			<LineNo>40000</LineNo>
			<ItemNo>ML0003</ItemNo>
			<PostingDate>10.10.16</PostingDate>
			<EntryType>Zugang</EntryType>
			<DocumentNo>T3</DocumentNo>
			<Description>Drahtstifte 22 x 45</Description>
			<LocationCode>MAINKA-LIN</LocationCode>
			<Quantity>0</Quantity>
			<UnitAmount>0</UnitAmount>
			<UnitCost>0</UnitCost>
			<Amount>0</Amount>
			<AppliestoEntry>0</AppliestoEntry>
			<IndirectCost>0</IndirectCost>
			<JournalBatchName>INVENTUR</JournalBatchName>
			<QtyCalculated>-3</QtyCalculated>
			<QtyPhysInventory>-3</QtyPhysInventory>
			<GenBusPostingGroup></GenBusPostingGroup>
			<GenProdPostingGroup>V19</GenProdPostingGroup>
			<DocumentDate>10.10.16</DocumentDate>
			<VariantCode></VariantCode>
			<BinCode>R04-F10-E03-P01</BinCode>
			<UnitofMeasureCode>KG</UnitofMeasureCode>
			<Description2></Description2>
		</ItemJournalLine>
		<ItemJournalLine>
			<JournalTemplateName>INVENTUR</JournalTemplateName>
			<LineNo>50000</LineNo>
			<ItemNo>ML0004</ItemNo>
			<PostingDate>10.10.16</PostingDate>
			<EntryType>Zugang</EntryType>
			<DocumentNo>T3</DocumentNo>
			<Description>Drahtstifte 2,5 x 55</Description>
			<LocationCode>MAINKA-LIN</LocationCode>
			<Quantity>0</Quantity>
			<UnitAmount>0</UnitAmount>
			<UnitCost>0</UnitCost>
			<Amount>0</Amount>
			<AppliestoEntry>0</AppliestoEntry>
			<IndirectCost>0</IndirectCost>
			<JournalBatchName>INVENTUR</JournalBatchName>
			<QtyCalculated>-9</QtyCalculated>
			<QtyPhysInventory>-9</QtyPhysInventory>
			<GenBusPostingGroup></GenBusPostingGroup>
			<GenProdPostingGroup>V19</GenProdPostingGroup>
			<DocumentDate>10.10.16</DocumentDate>
			<VariantCode></VariantCode>
			<BinCode>R04-F11-E03-P01</BinCode>
			<UnitofMeasureCode>KG</UnitofMeasureCode>
			<Description2></Description2>
		</ItemJournalLine>
	</ItemJournalLineList>
</DataList>

Bei diesem XML-File möchte ich nun nur die <ItemJournalLine>-Knoten anhand des Attributes BinCode sortieren. Habt ihr eine Idee, wie man das am sinnvollsten anstellen kann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Minuten schrieb Crash2001:

Ich denke mal das ist für dieses Shopsystem, das er plant/bastelt und da entweder um die Produkte sortiert anzeigen zu lassen oder aber für irgendeine andere Liste. :rolleyes:

Sortiert aus Datenbank ausgeben ist anscheinend fehlgeschlagen?

Ein Shopsystem, was mit XML-Dateien rumhantiert und über die XML-Datei werden die Produkte sortiert, wie sie dann in der Oberfläche angezeigt werden? O_o 

Klingt sehr abenteuerlich. Schon mal ich dafür wohl nicht XML nehmen würde, sondern JSON, weil das Format kompakter ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 23 Minuten schrieb Whiz-zarD:

Wozu muss eine XML-Datei sortiert werden?

Trifft jetzt hier wahrscheinlich nicht zu, es gibt allerdings Austauschformate in XML, in denen die Reihenfolge relevant ist (bspw. müssen bestimmte Knoten bereits in der Datei definiert sein, bevor auf sie verwiesen wird) - das ist besonders dann sinnvoll, wenn die Dateien nicht mehr in einem Rutsch in den Hauptspeicher geladen werden. Dann kann man im Stream weiterlaufen, ohne ggf. erst weiter hinten gucken zu müssen.

Wie gesagt: Hier wahrscheinlich nicht der Fall, es gibt allerdings tatsächlich Szenarien, in denen das auftritt (ob man das jetzt gut findet oder nicht, ist ja eine andere Sache ;) ).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Spekulationen des warum und wieso man soetwas sortieren will werde ich nun auflösen. :D

Es hat nichts mit dem Shopsystem direkt zu tun.

Es geht darum, das mit dem eingesetzten ERP-System nur Tabellen in XML-Files exportiert und importiert werden können. Natürlich kann ich auch hart auf die DB zugreifen, möchte ich aber nicht, da beim import der XML-Files Validierungen stattfinden, die sonst nicht stattfinden. Vor dem Export ist es leider nicht möglich, die Tabelle im ERP-System zu sortieren. Diese XML-Datei soll nach Bearbeitung wieder importiert werden. Eine entsprechende Bearbeitung der Daten im ERP-System wäre sehr zeitintensiv.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das erklärt aber immer noch nicht, warum die Daten sortiert sein müssen.

Du exportierst aus der DB in diese XML-Datei. Dann findet irgendeine Bearbeitung der Daten statt, die eine veränderte XML-Datei erzeugt, die dann wieder in die DB importiert wird. Und diese ominöse Bearbeitung funktioniert nur, wenn die Daten nach diesem Feld sortiert sind?

Wie läuft denn diese Bearbeitung ab?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb Klotzkopp:

Wie läuft denn diese Bearbeitung ab?

Ich denke dann mal wohl, dass die Bearbeitung per Hand erfolgt und deshalb die XML-Dateien sortiert haben möchte, damit man sich besser orientieren kann. Das ist also mehr ein organisatorisches Problem und kein technisches.

Bearbeitet von Whiz-zarD
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Minuten schrieb Whiz-zarD:

Ich denke dann mal wohl, dass die Bearbeitung per Hand erfolgt und deshalb die XML-Dateien sortiert haben möchte, damit man sich besser orientieren kann. Das ist also mehr ein organisatorisches Problem und kein technisches.

Genau so ist es. Hierzu benötige ich die Sachen sortiert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...