Jump to content
epsodus

XML Datei bearbeiten

Recommended Posts

vor 7 Minuten schrieb Lian:

Wir verwenden ein whitelisting von wenigen bekannten Dateitypen, mehr steckt nicht dahinter ;-)

 

CSVs bitte wie vorgeschlagen als Texdatei anhängen.

Wow. Respekt. Also bei der Reaktionszeit - und nicht nur da - macht Euch echt absolut niemand etwas vor. Ein riesengroßes Dankeschön für euren Einsatz. :thumb1::applaus:

Edited by BOfH_666
  • Like 1

Share this post


Link to post

Nur mal so 'ne Idee ...  den Anwender-Programmen einfach die komplette Antwort-Datei zu verfüttern funktioniert nicht? Könnte ja sein, dass das Programm so intelligent ist, sich die passende Info rauszusuchen ...

Share this post


Link to post

Hi, leider nicht. Ich werde jetzt wie folgt vorgehen.

1. Importdatei ( XML ) parsen nach Merkmal.

2. Neue Xml Dateien erstellen, nur mit den identifizierten Knoten, Merkmal im Dateinamen einfügen ( Dateiname umbenennen )

3. Neue Dateien mit dem Excelshheet abgleichen, bei Treffer, Datei umbenennen, vorne User im Dateinamen

 

Wenn das grob funktioniert, werde ich das Script verfeinern. Kämpfe mich gerade durch das parsen und erstellen einer neuen XML Datei ( Struktur )

Share this post


Link to post

Ich spare mir mal das Einlesen - das Parsen geht so:

Foreach ( $Node in $xml.SctiesFincgRptgTxStatRpt.TradData.Stat ) {
    $Node.InnerXml
    $Node.OuterXml
    $OutFileId = $Node.TechRcrdId
}

InnerXML ist das, was zwischen den <Stat>-Tags steht. OuterXML schließt die <Stat>-Tags mit ein. Edit: Mit OuterXML erzeugst Du also direkt eine valide XML-Datei mit Start- und End-Tag.

 

Das jetzt in eine Datei zu schreiben und noch den Inhalt der ID als Name zu verwenden, sollte kein Problem sein. Und warum Olaf eine Phobie gegen XML hat, kann ich grad nicht nachvollziehen - nichts ist einfacher, als gutes XML in Powershell zu verarbeiten :-)

 

Und noch so als Tip: Wenn man die For-Schleife einmal ohne Code zwischen { und } durchlaufen läßt, kann man für $Node beim weiteren Bearbeiten Intellisense verwenden :-) Macht vieles einfacher, vor allem bei den eigenartigen Tagnamen, die hier (vermutlich mit einem Grund) auftauchen.

Edited by daabm

Share this post


Link to post
vor 4 Stunden schrieb daabm:

...  Und warum Olaf eine Phobie gegen XML hat, kann ich grad nicht nachvollziehen - nichts ist einfacher, als gutes XML in Powershell zu verarbeiten :-)

 ... 'is eher ne Abneigung als ne Phobie. ;-)  ... und sooo wahnsinnig einfach isses wohl dann doch nicht - sonst würden sich nicht so viele Leute damit so schwer tun ... :aetsch2: ...  meine Vermeidungs- / Umgehungs-Strategie hat bisher ganz gut funktioniert. Lesen und Benutzen klappt - Bearbeiten musste ich bisher nie.  Vielleicht schaff' ich's ja noch bis zur rente mich drumrum zu mogeln.  :grin3::aetsch2::engel:

Share this post


Link to post

Moin,

 

und dann kommt kurz vor deinem letzten Arbeitstag jemand an und wirft dir JSON vor die Füße ...

 

Gruß, Nils

 

  • Haha 1

Share this post


Link to post
vor 27 Minuten schrieb NilsK:

und dann kommt kurz vor deinem letzten Arbeitstag jemand an und wirft dir JSON vor die Füße ...

 

Komisch - JSON finde ich irgendwie deutlich zugänglicher als XML. ... genau wie YAML. Vermutlich sehen das ja auch viele andere so ... sonst wär's ja nicht so populär, oder? ... oder nicht so schnell so populär geworden. XML hatte ja lange genug sein Chance. ;-) Aber wenn mir dieser ominöse Jemand das wirklich erst kurz vor meinem letzten Arbeitstag vor die Füße wirft, dann mach da ich einen g r o ß e n  Schritt drüber und sitze das einfach aus.  :aetsch2: 

Share this post


Link to post
vor 1 Stunde schrieb BOfH_666:

Komisch - JSON finde ich irgendwie deutlich zugänglicher als XML.

Ist auch einfacher, kann dafür weniger. :D Ein Vorteil von XML ist ja, dass man ein Dokument validieren kann. Das ist bei JSON nicht gegeben. Richtig Freude macht auch XSL. Damit kann man sehr viel machen, ohne an einer Anwendung Änderungen vornehmen zu müssen. Wenn man von seiner Anwendung aus ein PDF generieren muss, welches vom (versierten) Anwender anpassbar sein muss, kann man entweder etwas wie Crystal Reports nehmen oder aber man schreibt ein XML, transformiert es mittels XSLT zu XSL-FO und dieses dann in ein PDF. Das Stylesheet ist vom Benutzer frei anpassbar. Umgebungen wie das .NET Framework liefern die notwendigen Werkzeuge (Interpreter etc.) schon mit. Man kann aus einer XML-Datei (oder besser: einem Schema) auch direkt Klassen erzeugen lassen. Liest man dann ein XML ein, hat man alle Elemente in einem Array mit den richtigen Datentypen. (Und das ist unglaublich schnell: ich arbeite oft mit XML-Dateien über 100 MB und das Einlesen dauert keine Sekunde.)

Share this post


Link to post

Hallo,

 

ich möchte mich bei daabm bedanken, hier im Forum kann ich was lernen. Zugleich möchte ich mich entschuldigen, für das Thema XML, weil es zu einem regen Schriftverkehr geführt hat :-)

 

Ich sage DANKE, für jede Anregung und Hilfe

 

Edited by epsodus

Share this post


Link to post
vor 9 Minuten schrieb epsodus:

Zugleich möchte ich mich entschuldigen, für das Thema XML, weil es zu einem regen Schriftverkehr geführt hat :-)

Na Du bist ja putzig .... dafür ist so ein Forum doch da  ...  ;-)  :thumb1: ... und Du bist nicht der Einzige, der hier was lernt.

Share this post


Link to post

Moin,

 

man glaubt gar nicht, wie die alten Herren hier sich freuen, wenn sie Anlass zum Fachsimpeln bekommen. 

 

Gruß, Nils (alter Herr)

 

  • Like 1

Share this post


Link to post

HM, bekomme immer hier einen Fehler. Muss mir mal den $Node anschauen, den ich mir geschrieben habe

 

$OutFileId = $Node.TechRcrdId


ERROR: In C:\DTCC TEST\Sta_Einlesen_Test.ps1:48 Zeichen:31
ERROR: +     $OutFileId = $Node.TechRcrdId
ERROR: +                                  ~
ERROR: Unerwartetes Token "" in Ausdruck oder Anweisung.
ERROR:     + CategoryInfo          : ParserError: (:) [], ParseException
ERROR:     + FullyQualifiedErrorId : UnexpectedToken
ERROR:

 

Hallo Nils, alte Herren ????? Du bezeichnest Dich als alter Herr ? Wenn Du möchtest bzw. willst, nenne mal Dein Alter. Dann kann ich was dazu sagen.

Share this post


Link to post

Moin,

 

Das ist ja recherchierbar. Ich stelle das hier mal als Rätsel ein.

 

Gruß, Nils

 

Edited by NilsK

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...