AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Attribute die ich gar nicht explizit erstellt habe
Thema durchsuchen
Ansicht
Themen-Optionen

Attribute die ich gar nicht explizit erstellt habe

Offene Frage von "Svenkan"
Ein Thema von cherry · begonnen am 14. Mai 2007 · letzter Beitrag vom 22. Sep 2007
 
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#1

Attribute die ich gar nicht explizit erstellt habe

  Alt 14. Mai 2007, 13:37
Hallo zusammen...

Ich erstelle mit MSXML (v5) XML -Dateien, leider habe ich ein kleines Problem...
Der Prolog meiner Datei enthält drei Attribute:

XML-Code:

<?xml version="1.0" encoding="utf-8"?>

<subjectData xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://innosolv.ch/namespace/isag">

 ...
Jetzt zu meinem Problem... das letzte der drei Attribute "xmlns" wird für jedes
Element in der gleichen Ebene übernommen ohne dass ich das explizit angegeben habe,
ich kanns auch nicht löschen. Aber der wert wurde nicht übernommen,

also xmlns="" statt xmlns="http://innosolv.ch/namespace/isag">

So sieht also die Datei aus...
Siehe <PACKAGE> und <SUBJECT EVENT>... dort sollten keine Attribute sein!

XML-Code:

 <?xml version="1.0" encoding="utf-8" ?>
- <subjectData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://innosolv.ch/namespace/isag">
- <package xmlns="">
- <sender>
- <user>
  <userName>sa</userName>
  </user>
  <swSystemID>1</swSystemID>
  <swSystemName>BASIS</swSystemName>
  </sender>
- <receiver>
  <swSystemID>4700</swSystemID>
  </receiver>
- <transaction>
  <transactionID>101069</transactionID>
  <transactionCase>10000</transactionCase>
  <transactionDate>2007-05-14</transactionDate>
  <transactionAcknowledge>true</transactionAcknowledge>
  <transactionDescription>Import subjekt</transactionDescription>
  </transaction>
  </package>
- <subjectEvent xmlns="">
  <mutationType>I</mutationType>
  <referenceID>101069</referenceID>
  <referenceType>1</referenceType>
  <extPosID>101069</extPosID>
  <eventID />
  <redundancyCheck>1</redundancyCheck>
- <subject>
  <name>FakeBetrieb1_TestRaphael</name>
  <correspondenceLanguage rvcd="1">Schweizerdeutsch</correspondenceLanguage>
  <mrMrs rvcd="3">Firma</mrMrs>
  <classOfBusiness rvcd="2001">Verein</classOfBusiness>
- <NotNaturalPerson>
  <legalForm rvcd="11">Einfache Gesellschaft</legalForm>
  <formationType rvcd="5">Eröffnung</formationType>
  <formationDate>14.05.07</formationDate>
  </NotNaturalPerson>
- <address>
  <addressReferenceID>1</addressReferenceID>
  <addressTypeOf rvcd="1">Silberhornweg</addressTypeOf>
  <additionalAddress>fam.</additionalAddress>
  <validFrom>10.05.04</validFrom>
  <note xsi:nil="true">Dies ist die Notiz zur Adresse!</note>
- <place>
  <street>Silberhornweg</street>
  <houseNumber>18</houseNumber>
- <city>
  <cityID />
  <zipCodeID>1830</zipCodeID>
  <zipCode>3661</zipCode>
  <town>Uetendorf</town>
  <country rvcd="CH">Schweiz</country>
  <zipCodeAddOn>00</zipCodeAddOn>
  </city>
  </place>
  </address>
  </subject>
  </subjectEvent>
  </subjectData>
So wird der Prolog mit den Attributen erstellt:

Delphi-Quellcode:
 
  ...
 
  // Microsoft Document Object Model - Document erstellen
  xmlDoc := CoDOMDocument40.Create;

  // (Rootnode) Wurzelelement erzeugen
  root := xmlDoc.createElement('subjectData');

  // Prolog mit Steueranweisungen (Processing instructions)
  instr := xmlDoc.createProcessingInstruction('xml', 'version="1.0" encoding="utf-8"');
  xmlDoc.appendChild(instr);

  // Wurzelelement dem DOMDocument hinzufügen
  xmlDoc.appendChild(root);

  // node := root / nur anders formuliert
  node := xmlDoc.selectSingleNode('subjectData');

  // 1. Attribut für RootNode erzeugen
  attr := xmlDoc.createAttribute('xmlns:xsd');
  attr.value := 'http://www.w3.org/2001/XMLSchema';
  node.attributes.setNamedItem(attr);

  // 2. Attribut für RootNode erzeugen
  attr := xmlDoc.createAttribute('xmlns:xsi');
  attr.value := 'http://www.w3.org/2001/XMLSchema-instance';
  node.attributes.setNamedItem(attr);

  // 3. Attribut für RootNode erzeugen
  attr := xmlDoc.createAttribute('xmlns');
  attr.value := 'http://innosolv.ch/namespace/isag';
  node.attributes.setNamedItem(attr);

  ...
Hat da jmd eine Idee warum die Attribute erstellt werden ohne das ich
das so will¿

Danke für deine Hilfe...

LG enemyleft

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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 by Thomas Breitkreuz