Announcement

Collapse
No announcement yet.

Ausgabe in Textdatei

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausgabe in Textdatei

    Hallo Leute,

    ich habe hier mal folgende xml Daei, die automatisch mit einem OCR Programm erstellt wurde.

    <?xml version="1.0"?>

    <job job_name="" user_data="" verify_user_name="admin" last_verified_page="0" suspected_fields="0" tmpl_changed="0" ls_done="0" high_prio="0" ARC="-1" fld_ind="0" csjt="Any Document Unsorted" ScannedPages="1" Trans="" job_type="all_forms" exception="">

    <rpage page="1" form_name="New Form1" setup_page_no="1" template_name="Page 1 Vorderseite" state="recognized" exception="" uc="0" exported="0" minchar="-1" maxchar="-1" done="0" sent="0" return_later="0" join_next="0" join_prev="0" shift_x="0" shift_y="0" rotate="0" reg_rotate="0" export_status="0" barcode="" micr="" displayed="0" verify_again="0" orig_file_name="D:\...\1-0011602464-00000261-000478371.tif" target_file_name="C:\Programme\...\012008030212272 1_reg.tif" mpn="">

    <rfield field_name="Identifikation" SSC="0" cust_str="" ocr_content="72536730450833960200" org_ocr="72536730450833960200" typist_content="72536730450833960200" state="validated" one_floating_form="0" exception="" array_index="-1" minchar="-1" maxchar="-1" left="" top="" right="" bottom="" torg_left="1424" torg_top="3066" torg_right="1532" torg_bottom="3174" conf="100"/>

    </rpage>

    </job>

    Es wäre wichtig aus diesen Automatsich generieretne Datein die folgenden Werte in eine Textdatei zu extrahieren.

    torg_left="1424" torg_top="3066" torg_right="1532" torg_bottom="3174"

    Und zwar nur den Zahlenwert. Dieser Text wird dann zu einer Batschdatei weiterverarbeitet.

    Wie könnte man dass bewerkstelligen?

    der inhalt der Batchdatei sollte dann folgendermasen aussehen.

    zB:

    Programm 1424 3066 1532 3174 /v /o

    Ist dies ein grösserer Aufwand? Dass müsste doch auch mit VB gehn, oder? Vielleicht ist das auch etwas dämlich, wie ich mich anstelle, aber ich habe keine ahnung von xml und wäre echt ultra dankbar, wenn mir jemand weiter helfen könnte.

    Danke schonmal fürs lesen. Gruss Sascha

  • #2
    Mit einem Prgramm beliebiger Sprache C/C++,Delphi,VB,Java. PERL....
    Zuletzt editiert von Christian Marquardt; 21.03.2008, 22:46.
    Christian

    Comment


    • #3
      Ich hab es fast geahnt.
      Und mit was in VB zB. könnt ich dem Programm sagen, das nur die Teile aus dem xml Dokument in eine Textdatei geschrieben werden sollen?

      Comment


      • #4
        VB programmiere ich nicht, aber das Vorgehen dürfte wohl immer gleich sein:

        XMLDatei einlesen
        XML parsen
        Auf den Node gehen
        Die Attributwerte lesen
        Die Werte speichern

        Die Frage ist, wie du das drumherum haben willst:

        Auswahl der XML-Datei mittels Auswalhbox?
        Zieldatei mittels Auswahlbox festlegen?
        und /oder diese Parameter per Kommandozeile übergeben, so dass eine Batchverarbeitung möglich ist?
        Was ist bei Fehlern?
        Christian

        Comment


        • #5
          Danke

          Erst mal danke, für die Zeit die Du Dir nimmst.

          Ich seh schon, sehr wahrscheinlich werde ich nicht mit Script Schnorren weiter kommen und muss mich selbst mit befassen. Aber ich versuchs trotzdem nochmal.

          Es ist eine xml Datei, welche automatisch immer grösser wird und immer wieder die selben Attribute mit unterschiedlichen werten einliest. Diese Werte sollten entweder on the Fly in eine Textdatei wandern, oder in regelmässigen intervallen.

          Das sollte möglichst so gehn, ohne dass jemand einen Finger rührt. Also Automatisch.

          Ausser futter für die xml Datei. Das wird natürlich von Hand nachgereicht. Letztendlich ist es eigentlich egal wie die Werte in die Textdatei kommen. Ob mit C oder mit VB. Hauptsache die Werte stehen letztendlich in gewünschter Reihenfolge in der Ergebnis.bat.

          Comment


          • #6
            Das Problem ist schon verstanden....

            Wo siehst du einen Unterschied zwischen einem C/C++ Programm und einem PERL-Script??? Bloß weil das eine compiliert und gelinkt wird und das andere nicht und stattdessen durch einen Interpreter gejagt wird?

            Du wirst nicht weiterkommen ohne tätig zu werden, das ist richtig.
            Christian

            Comment


            • #7
              Hier mal der Code für C++ mit dem Framework VCL (C++Builder)


              Code:
              //---------------------------------------------------------------------------
              #include <vcl.h>
              #include "XMLDoc.hpp"
              #pragma hdrstop
              //---------------------------------------------------------------------------
              #pragma argsused
              typedef _di_IXMLNode XMLNode;
              typedef _di_IXMLNodeList XMLNodeList;
              int main(int argc, char* argv[])
              {
              TStringList *savedata=new TStringList();
              CoInitialize(NULL);
              String inputfile, outputfile,ausgabe;
              inputfile=argv[1];
              outputfile=argv[2];
              _di_IXMLDocument doc=LoadXMLDocument(inputfile);
              doc->Active=true;
              XMLNode node=doc->DocumentElement->GetChildNodes()->FindNode(L"rpage")->GetChildNodes()->FindNode(L"rfield");
              ausgabe="Programm ";
              ausgabe+=(String)node->GetAttribute("torg_left")+" ";
              ausgabe+=(String)node->GetAttribute("torg_top")+" ";
              ausgabe+=(String)node->GetAttribute("torg_right")+" ";
              ausgabe+=(String)node->GetAttribute("torg_bottom")+" ";
              ausgabe+=" /v /o";
              savedata->Add(ausgabe);
              doc->Active=false;
              savedata->SaveToFile(outputfile);
              delete savedata;
              return 0;
              }
              //---------------------------------------------------------------------------
              Zuletzt editiert von Christian Marquardt; 22.03.2008, 18:11.
              Christian

              Comment


              • #8
                Danke für die Hilfe

                Sag mal, bekomm ich die VCL.h auch für Visual C++ oder gibts die nur für Borland? So ne Bibliothek kann man sich doch auch selbst erstellen, oder? Dann könnt ich den Inhalt der VCL.h einfach nach Visual C++ ziehen, oder? Aber warum gibts das dann nicht direkt zum downloaden. Hilfe wäre echt voll nett. Gruss Sascha

                Comment


                • #9
                  Sag mal, bekomm ich die VCL.h
                  Nur Borland....

                  So ne Bibliothek kann man sich doch auch selbst erstellen, oder?
                  Wohl nicht

                  Aber warum gibts das dann nicht direkt zum downloaden.
                  Weil die damit ihr Geld verdienen
                  Christian

                  Comment

                  Working...
                  X