this is the xml file i got and i want to generate the same output with delphi. I used the delphi xml wizard to generate a large block according to my scheme.
So this is the result I want to have (original file)
<?xml version="1.0" encoding="iso-8859-1"?><reh:Reha xmlns:reh="http://www.vdek.com/xml-schema/REH/1.8"> <reh:logische_Version>1.6.0</reh:logische_Version> <reh:KV> <reh:Kopfdaten> <kod:Erstellungsdatum_Uhrzeit xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">2014-09-23T15:33:23</kod:Erstellungsdatum_Uhrzeit> <kod:Version xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">1.2.0</kod:Version> <kod:Dateinummer xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2">000010</kod:Dateinummer> <kod:Identifikationsdaten xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2"> <kod:IK_Absender>108018007</kod:IK_Absender> <kod:IK_Empfaenger>510800000</kod:IK_Empfaenger> <kod:IK-Kostentraeger>108018007</kod:IK-Kostentraeger> <kod:IK_Einrichtung>510800000</kod:IK_Einrichtung> </kod:Identifikationsdaten> <kod:Fall_ID_KV xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2"> <kod:Krankenversichertennummer>I123456789</kod:Krankenversichertennummer> <kod:Versichertenstatus>50001</kod:Versichertenstatus> <kod:Kartengueltigkeit>1712</kod:Kartengueltigkeit> <kod:Fallnummer>01800000099988877</kod:Fallnummer> </kod:Fall_ID_KV> <reh:Dateinummer></reh:Dateinummer> </reh:Kopfdaten> <reh:Bewilligung> <bew:Admindaten xmlns:bew="http://www.vdek.com/xml-schema/BEW/1.5"> <bew:Verarbeitungskennzeichen>10</bew:Verarbeitungskennzeichen> <bew:Version>1.5.0</bew:Version> <bew:LfdNr>01</bew:LfdNr> </bew:Admindaten> <bew:Fachliche_Daten xmlns:bew="http://www.vdek.com/xml-schema/BEW/1.5"> <bew:Rehabilitand> <bew:Anrede>1</bew:Anrede> <bew:Name> <bty:Nachname xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Mustermann</bty:Nachname> <bty:Vorname xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Max</bty:Vorname> </bew:Name> <bew:Geschlecht>1</bew:Geschlecht> <bew:Geburtsdatum>1950-08-21</bew:Geburtsdatum> <bew:Adresse> <bty:Strasse xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Saonestr.</bty:Strasse> <bty:Hausnummer xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">3</bty:Hausnummer> <bty:Wohnort xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">Frankfurt</bty:Wohnort> <bty:PLZ xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">60528</bty:PLZ> <bty:Laenderkennzeichen xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">D</bty:Laenderkennzeichen> </bew:Adresse> <bew:Kommunikation> <bty:Telefon xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">069/12345</bty:Telefon> </bew:Kommunikation> </bew:Rehabilitand> <bew:Kosteninformationen> <bew:Zuzahlung> <bew:Zuzahlungseinzug>2</bew:Zuzahlungseinzug> <bew:AnzahlTage>028</bew:AnzahlTage> <bew:Zuzahlungsbetrag>01000</bew:Zuzahlungsbetrag> </bew:Zuzahlung> </bew:Kosteninformationen> <bew:Rehainformationen> <bew:Rehaart>93</bew:Rehaart> </bew:Rehainformationen> <bew:Aufnahmedaten> <bew:IK_Krankenhaus>260612124</bew:IK_Krankenhaus> <bew:Behandlungsart>1</bew:Behandlungsart> <bew:Bewilligungsdiagnosen> <bew:Version_ICD>2014</bew:Version_ICD> <bew:Diagnose> <bty:Diagnosenschluessel xmlns:bty="http://www.vdek.com/xml-schema/BTY/1.2">M151</bty:Diagnosenschluessel> </bew:Diagnose> </bew:Bewilligungsdiagnosen> <bew:Aufnahmedaten> <bew:Erfolgt>N</bew:Erfolgt> <bew:Geplant>2014-10-05</bew:Geplant> </bew:Aufnahmedaten> <bew:Indikationsgruppe>SA</bew:Indikationsgruppe> </bew:Aufnahmedaten> <bew:Bewilligungsinformationen> <bew:Bewilligungsdatum>2014-09-23</bew:Bewilligungsdatum> <bew:Kostenzusage_gueltig_bis>2014-10-31</bew:Kostenzusage_gueltig_bis> </bew:Bewilligungsinformationen> <bew:Stationaerdaten> <bew:Behandlungsabschnitte>01</bew:Behandlungsabschnitte> <bew:bewilligte_Tage>020</bew:bewilligte_Tage> </bew:Stationaerdaten> </bew:Fachliche_Daten> <reh:Fachliche_Daten> <reh:Rehabilitand/> </reh:Fachliche_Daten> </reh:Bewilligung> </reh:KV> <reh:Papieranlage>N</reh:Papieranlage> </reh:Reha>
My delphi code
var XML: IXMLReha; begin XML := NewReha; XML.OwnerDocument.Options := [doNodeAutoCreate, doNodeAutoIndent]; XML.Logische_Version := '1.6.0'; //Prรคfixe wie :bs, :reh fehlen noch {Kopfdaten} //xmlns:kod Xml.KV.Kopfdaten.DeclareNamespace('kod', 'http://www.vdek.com/xml-schema/KOD/1.2'); Xml.KV.Kopfdaten.Attributes['test'] := 'test2'; XML.KV.Kopfdaten.Erstellungsdatum_Uhrzeit := '2014-09-23T15:33:23'; XML.KV.Kopfdaten.Version := '1.2.0'; XML.KV.Kopfdaten.Dateinummer := '000010'; XML.KV.Kopfdaten.Identifikationsdaten.IK_Absender := '108018007'; XML.KV.Kopfdaten.Identifikationsdaten.IK_Empfaenger := '510800000'; XML.KV.Kopfdaten.Identifikationsdaten.IKKostentraeger := '108018007'; XML.KV.Kopfdaten.Identifikationsdaten.IK_Einrichtung := '510800000'; XML.KV.Kopfdaten.Fall_ID_KV.Krankenversichertennummer := 'I123456789'; XML.KV.Kopfdaten.Fall_ID_KV.Versichertenstatus := '50001'; XML.KV.Kopfdaten.Fall_ID_KV.Kartengueltigkeit := '1712'; XML.KV.Kopfdaten.Fall_ID_KV.Fallnummer := '01800000099988877'; XML.KV.Kopfdaten.Dateinummer := ''; {Bewilligung} XML.KV.Bewilligung.Admindaten.Verarbeitungskennzeichen := '10'; XML.KV.Bewilligung.Admindaten.Version := '1.5.0'; XML.KV.Bewilligung.Admindaten.LfdNr := '01'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Anrede := '1'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Name.Nachname := 'Mustermann'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Name.Vorname := 'Max'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Geschlecht := '1'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Geburtsdatum := '1950-08-21'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Strasse := 'Saonestr'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Hausnummer := '3'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Wohnort := 'Frankfurt'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.PLZ := '60528'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Adresse.Laenderkennzeichen := 'D'; XML.KV.Bewilligung.Fachliche_Daten.Rehabilitand.Kommunikation.Telefon := '069/12345'; { ...} //Dokument speichern XML.OwnerDocument.SaveToFile('\\Server\Gen.xml'); end;
My result is generated with my delphi code
<?xml version="1.0"?> <Reha xmlns="http://www.vdek.com/xml-schema/REH/1.8" xsi:schemaLocation="http://www.foo.com/Myxsd.xsd"> <logische_Version>1.6.0</logische_Version> <KV> <Kopfdaten xmlns:kod="http://www.vdek.com/xml-schema/KOD/1.2" test="test2"> <Erstellungsdatum_Uhrzeit>2014-09-23T15:33:23</Erstellungsdatum_Uhrzeit> <Version>1.2.0</Version> <Dateinummer></Dateinummer> <Identifikationsdaten> <IK_Absender>108018007</IK_Absender> <IK_Empfaenger>510800000</IK_Empfaenger> <IK-Kostentraeger>108018007</IK-Kostentraeger> <IK_Einrichtung>510800000</IK_Einrichtung> </Identifikationsdaten> <Fall_ID_KV> <Krankenversichertennummer>I123456789</Krankenversichertennummer> <Versichertenstatus>50001</Versichertenstatus> <Kartengueltigkeit>1712</Kartengueltigkeit> <Fallnummer>01800000099988877</Fallnummer> </Fall_ID_KV> </Kopfdaten> <Bewilligung> <Admindaten> <Verarbeitungskennzeichen>10</Verarbeitungskennzeichen> <Version>1.5.0</Version> <LfdNr>01</LfdNr> </Admindaten> <Fachliche_Daten> <Rehabilitand> <Anrede>1</Anrede> <Name> <Nachname>Mustermann</Nachname> <Vorname>Max</Vorname> </Name> <Geschlecht>1</Geschlecht> <Geburtsdatum>1950-08-21</Geburtsdatum> <Adresse> <Strasse>Saonestr</Strasse> <Hausnummer>3</Hausnummer> <Wohnort>Frankfurt</Wohnort> <PLZ>60528</PLZ> <Laenderkennzeichen>D</Laenderkennzeichen> </Adresse> <Kommunikation> <Telefon>069/12345</Telefon> </Kommunikation> </Rehabilitand> </Fachliche_Daten> </Bewilligung> </KV> </Reha>
So, how can I set prefixes / namespaces like reh:,: kod ... in the ym xml file, like in the original xml file?
As you can see, I do not use the ".addchild" command, so I need a different answer.
xml xml-parsing delphi xsd
Hidden
source share