![]() |
TXMLDocument: "xsi" vom xsi:noNamespaceSchemaLocat
Moin moin,
bitte helft mir doch bei meinem Problem. Situation: Ein Codeschnippsel von mir speichert Daten als XML, ein validiertes Schema hab ich auch erstellt.
Delphi-Quellcode:
Problem:
...
var xmldoc : TXMLDocument; begin xmldoc := TXMLDocument.Create(nil); xmldoc.Active:=True; xmldoc.Encoding:='ISO-8859-1'; xmldoc.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull]; xmldoc.ParseOptions := [poResolveExternals, poValidateOnParse]; root_node := xmldoc.AddChild('blablubb'); xmldoc.DocumentElement.Attributes['xmlns:xsi'] := 'http://www.w3.org/2001/XMLSchema-instance'; xmldoc.DocumentElement.Attributes['xsi:noNamespaceSchemaLocation'] := 'http://www.blablubb.com/blablubb/schema.xsd'; ... ... xmldoc.SaveToFile(file_name_str); ... end; Eigentlich ist alles prima, die XML-Datei wird wie gewünscht geschrieben, allerdings hat die Codezeile
Delphi-Quellcode:
nicht die erwartete Wirkung. In der XML-Datei steht folgendes:
xmldoc.DocumentElement.Attributes['xsi:noNamespaceSchemaLocation'] := 'http://www.blablubb.com/blablubb/schema.xsd';
XML-Code:
Hier fehlt mir eindeutig das "xsi:" vor dem "noNamespaceSchemaLocation".
<blablubb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="http://www.blablubb.com/blablubb/schema.xsd">
Ich möchte darauf wetten, daß dieses Problem Euch bekannt ist. Leider konnte mir google nicht weiterhelfen. Bitte helft mir doch auf die Sprünge, ich stehe kurz davor, das "xsi" klassisch per file i/o einzufügen. :| Viele Grüße, Gnorks |
Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL
Herzlich willkommen in der Delphi-PRAXiS, Gnorks.
Dein Problem sieht gar nicht nach .NET aus - unter Win32 machst du alles richtig und bei mir (D7) wird der NameSpace-Präfix auch erzeugt. Freundliche Grüße |
Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL
Danke für die Willkommensgrüße und Deine Mühe, Marabu.
Na, dann bleibt mir wohl vorerst nichts anderes übrig, als das "xsi" in die TStrings der TXMLDocument.XML reinzuhacken. Dreckig, aber schnell. :-D Danke, Gnorks |
Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL
Willst du dich wirklich zu sowas herablassen?
Welchen XML-Parser hast du denn konfiguriert und welche Delphi-Version verwendest du? Ich habe mit MSXML4 getestet. |
Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL
Naja. Von "wollen" kann nicht die Rede sein.
Das ist ersteinmal auf die TODO-Liste gewandert, ich bin einfach begierig darauf, schonmal weiterzuarbeiten. Schöner wäre es natürlich ohne dirty tricks. Delphi Version: CodeGear™ Delphi® 2007 for Microsoft® .NET Version 11.0.2902.10471 DOMVendor: CLRXML OS: Vista64 Mir fehlt leider die Delphi-Erfahrung, um mich dem Problem tiefergehend zu nähern. Sollte Dir Marabu (oder einem anderern User) etwas dazu einfallen, wäre ich also höchst dankbar! Gruß, Gnorks |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz