Datei einlesen und zeichen ersetzen

hallo,

ich möchte mit hilfe von xml eine txt-datei automatisch einlesen lassen und dort bestimmte zeichen (’) durch einen Zeilenumbruch ersetzen.
am ende soll eine xml-datei entstehen.
wie geht das bei xml?

Hallo,

ich möchte mit hilfe von xml eine txt-datei automatisch
einlesen lassen und dort bestimmte zeichen (’) durch einen
Zeilenumbruch ersetzen.

XML kann weder lesen noch schreiben…?!

am ende soll eine xml-datei entstehen.

Ein Programm erstellen, das eine Textdatei einliest, den Inhalt bearbeitet und in eine andere Datei schreibt ist eigentlich mit jeder Programmier sprache ohne größeren Aufwand möglich.

gruß
Heavy

Hallo derkleinemarco,

ich möchte mit hilfe von xml eine txt-datei automatisch
einlesen lassen und dort bestimmte zeichen (’) durch einen
Zeilenumbruch ersetzen.

Das Einlesen einer „normalen“ Textdatei kann durch XML bzw. XSLT so nicht verwirklicht werden, da immer zumindestens eine Wurzel (root, in XML als Tag, worunter die Nutzdaten hierarchisch vorliegen) da sein muss!

am ende soll eine xml-datei entstehen.
wie geht das bei xml?

Am Besten verwirklichst du dies, indem du z. B. ein kleines C+± oder Java-Programm schreibst, das die Text-Datei einliest, den Zeichenersatz vornimmt und den Text im XML-Format ausgibt.

Wie willst du dann das entstehende XML-Dokument dann hierarchisch aufbauen? Oder soll es nur ein root-Tag geben?? Wie hast du dir das vorgestellt?

Mit freundlichen Grüßen

Markus

danke
danke ihr beiden - werd mich mal ransetzen

Hallo derkleinemarco,

danke ihr beiden - werd mich mal ransetzen

falls Probleme (mit XML, XSLT, Java, C++ etc.) auftauchen, kannst du mich ruhig kontaktieren!

Viel Erfolg!

Mit freundlichen Grüßen

Markus

Erstelle eine Xml-Datei (bsp. root.xml) mit etwa dem folgenden Inhalt:

<?xml version='1.0'?>

ENTITY meynText SYSTEM „text.txt“
]>
&meynText;

text.txt liegt in demselben Verzeichnis und kann bsp. reiner Text (ohne , &amp:wink: sein. Ein Xml-Dokument kann in mehrere physikalische Teildokumente zerfallen, mit obigem definierst Du dir ein ENTITY, das anschließend wie in Html verwendet wird.

Mit VBScript läßt sich das ganze verarbeiten:

Dim xDoc
Set xDoc = WScript.CreateObject(„MSXML2.DOMDocument.3.0“)
xDoc.async = False
xDoc.validateOnParse = True
xDoc.load „root.xml“
MsgBox xDoc.Xml 'Anzeige

In xDoc.XML ist die Textfassung enthalten, das ganze kannst Du nun mit Replace bearbeiten und mit einem FileSystemObject als Textdatei speichern. Auf XP funktioniert dies sofort, auf älteren Systemen ist die MSXML3 notwendig.

Gruß, Jürgen Auer

Hallo Jürgen,

text.txt liegt in demselben Verzeichnis und kann bsp. reiner
Text (ohne , &amp:wink: sein. Ein Xml-Dokument kann in
mehrere physikalische Teildokumente zerfallen, mit obigem
definierst Du dir ein ENTITY, das anschließend wie in Html
verwendet wird.
Mit VBScript läßt sich das ganze verarbeiten:
In xDoc.XML ist die Textfassung enthalten, das ganze kannst Du
nun mit Replace bearbeiten und mit einem FileSystemObject als
Textdatei speichern. Auf XP funktioniert dies sofort, auf
älteren Systemen ist die MSXML3 notwendig.

das Ganze find ich nicht so toll, da das ziemlich fehleranfällig sein könnte. Außerdem finde ich das ein bisschen zu viel getrickst, ich weiß nicht, ob das eine so gute Lösung ist. Aber um die Aufgabe schnell und einfach (wenn auch unsauber ) zu lösen, nicht einmal so schlecht, falls die Tragweite des „Projekts“ lediglich klein ist.

Mit freundlichen Grüßen

Markus

Entities sind die eine Hälfte von Xml und umfassen gerade das Einlesen von wurzellosen Fragmenten aus anderen URI’s. Solche Definitionen zu vewenden ist kein ‚Tricksen‘, sondern Alltag bei der Entwicklung größerer Projekte. Siehe die XHTML-Redefinitionen vom w3c.org mit Unmengen von Parameter-Entities, verteilt über diverse Dateien.

Wenn ich ein Problem mit einem wenige Zeilen umfassenden Script lösen kann und damit bsp. eine Html-Version aus XML + XSLT erstellen kann, dann benötige ich nicht ein ‚C+± oder Java-Programm‘.

Daß Programmierung Fehlerbehandlungen umfassen muß und daß ich solche hier weglasse - das ist selbstverständlich. Und ein Script für den Eingegebrauch enthält natürlich weniger Fehlerbehandlungen als ein freigegebenes Freeware-Programm - bei der gestellten Frage gehe ich von einem Eigenbedarf aus.

Gruß, Jürgen Auer