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, 6787 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte