Einzelnen Beitrag anzeigen

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, 12: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