Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSV Werte jeweils in einzelne XML-exportieren

Frage Entwicklung Batch & Shell

Mitglied: nulpen

nulpen (Level 1) - Jetzt verbinden

14.12.2010 um 13:41 Uhr, 2848 Aufrufe, 2 Kommentare

Hallo Zusammen,

derzeit muß ich Werte aus unterschiedlichen Quellen in andere Formate bringen. Vieles konnte ich lösen, jetzt sitze ich an folgender Nuß:

CSV-Datei mit folgendem Inhalt

FELD1;FELD2;FELD3;FELD4
Wert1;Wert2;Wert3;Wert4
Wert1;Wert2;Wert3;Wert4
Wert1;Wert2;Wert3;Wert4

usw.

Jede Zeile soll jetzt in EINE XML-Datei umgesetzt werden

<FELD NAME="FELD1">Wert1</FELD>
<FELD NAME="FELD2">Wert2</FELD>
<FELD NAME="FELD3">Wert3</FELD>
<FELD NAME="FELD4">Wert4</FELD>

zusätzlich natürlich die üblichen HEADER und sonstigen XML-Spezifikationen.

Die Datei kann einen beliebigen Namen tragen.

Klasse wäre natürlich eine Batch mit der die Sache einfach automatisiert abläuft.

Danke

Ralf
Mitglied: bastla
14.12.2010 um 15:13 Uhr
Hallo nulpen!

Wenn's auch VBS sein dürfte (mit Batch ist das vergleichsweise mühsam):
01.
CSV = "Die.csv" 
02.
Header = "Hier die Header-Daten eintragen" 
03.
Dateiname = "D:\Beliebiger Name" 
04.
Typ= ".xml" 
05.
Nr = 100001 'für laufende Nummer im Dateinamen 
06.
Stellen = 5 'Stellenanzahl der laufenden Nummer 
07.
Delim = ";" 'Trennzeichen der CSV 
08.
 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
Zeilen = Split(fso.OpenTextFile(CSV).ReadAll, vbCrLf) 
11.
 
12.
Feldnamen = Split(Zeilen(0), Delim) 'Feldnamen auslesen und in Array übertragen 
13.
Felder = UBound(Feldnamen) 'Höchsten Arrayindex zwischenspeichern 
14.
 
15.
For i = 1 To UBound(Zeilen) 'alle Datenzeilen durchgehen 
16.
    Werte = Split(Zeilen(i), Delim) 'Array mit einzelnen Werten erzeugen 
17.
    If UBound(Werte) >= Felder Then 'nur, wenn genug Werte vorhanden (Vorbeugung gegen Leerzeilen) 
18.
        'Datei mit Header erzeugen 
19.
        Set Datei = fso.CreateTextFile(Dateiname & Right(Nr, Stellen) & Typ) 
20.
        Datei.WriteLine Header 
21.
        Nr = Nr + 1 'Zähler für Dateinummer erhöhen 
22.
        For j = 0 To Felder 'für jedes Feld ... 
23.
            '... eine Zeile in die Datei schreiben 
24.
            Datei.WriteLine "<FELD NAME=""" & Feldnamen(j) & """>" & Werte(j) & "</FELD>" 
25.
        Next 
26.
        Datei.Close 'Datei schließen 
27.
    End If 
28.
Next
Grüße
bastla
Bitte warten ..
Mitglied: nulpen
14.12.2010 um 21:47 Uhr
Hey bastla,

GANZ KLASSE !!!!!

So kann ich es verwenden und packe den Rest hinzu.

Super , genau das was ich brauche.

Daumen hoch für die schnelle Antwort......

Ralf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CSV zu XML Probleme mit PowerShell (7)

Frage von comtel zum Thema Batch & Shell ...

Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell xml zu csv (2)

Frage von GeoSem zum Thema Batch & Shell ...

Batch & Shell
XML in CSV bat batch powershell (9)

Frage von nolle99 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(3)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...