Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateiformat von XML-Dateien ermitteln

Frage Entwicklung VB for Applications

Mitglied: nippon-tussi

nippon-tussi (Level 1) - Jetzt verbinden

06.10.2011 um 16:13 Uhr, 6586 Aufrufe, 4 Kommentare

Der Titel klingt wie ein Widerspruch in sich und doch gibt es Unterschiede

Ich mache gerade meine ersten Gehversuche mit System.xml und finde Unterschiede in den Formaten der XML-Dateien die ich lesen möchte:

Ein Teil sind ACSI-Dateien, ein anderer UTF-16 und den meisten fehlt die Formatangabe am Dateianfang (z.B. <?xml version="1.0" encoding="UTF-8"?>)

Ich kann zwar mit
01.
fileReader == My.Computer.FileSystem.ReadAllText(path, System.Text.Encoding.Unicode)

bzw
01.
fileReader == My.Computer.FileSystem.ReadAllText(path, System.Text.Encoding.ASCII)

und anschließendem
01.
LoadXml(fileReader)

die XML-Dateien lesen, aber wie stelle ich vorher ihr Format fest, wenn die Formatangabe in den Dateien fehlt?

Die einzige Möglichkeit die ich bis jetzt sehe ist, die Formate der Reihe nach zu lesen versuchen und dann das Ergebnis zu prüfen.

Ein einfaches
01.
xmlDocument.LoadXml(path)
führt z.B. bei UTF-16 Dateien ohne Header zum Fehler 'Ungültige Daten auf Stammebene. Zeile 1, Position 1.'

Danke fürs Lesen, Tussi
Mitglied: dog
06.10.2011 um 16:32 Uhr
Bitte warten ..
Mitglied: nippon-tussi
07.10.2011 um 23:03 Uhr
Genau das war mein erster Versuch, aber wenn ich damit eine Unicode-Datei ohne Header laden will bekomme ich eine XMLException:'Ein Name darf nicht mit dem Zeichen '.', hexadezimaler Wert 0x00, beginnen. Zeile 1, Position 2.'. Offenbar interpretiert Load eine Datei ohne Header als ASCII. Sobald ich in so einer Datei den Header <?xml version="1.0" encoding="UTF-16"?> voranstelle akzeptiert Load diese.
Bitte warten ..
Mitglied: dog
07.10.2011 um 23:50 Uhr
Eine XML-Datei ohne <?xml-Tag ist auch keine gültige XML-Datei!.

In dem Fall musst du eben selbst ran und das Encoding erkennen (entweder am UTF-BOM oder am (nicht-)vorhandensein bestimmter Zeichen).
Bitte warten ..
Mitglied: nippon-tussi
11.10.2011 um 01:17 Uhr
Genau das mache ich im Moment, indem ich versuche eine Datei mit unbekanntem Format als Unicode zu lesen und im Falle einer Exception die selbe Datei nochmal als ACSII lade. Ich hatte auf eine inteligentere Methode gehofft, zumal gerade in ASCII immernoch unterschiedliche Codepages auftauchen könnten...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern (4)

Frage von ELEVATOR zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien mit vorgegebener Größe erstellbar? (3)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows 7
Kopierte Dateien im Hintergrund anzeigen (1)

Frage von MichiBLNN zum Thema Windows 7 ...

Festplatten, SSD, Raid
Reallocated sectors count: Welche Dateien befinden sich in den beschädigten Sektoren? (9)

Frage von DunkleMaterie zum Thema Festplatten, SSD, Raid ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...