| 

.NET C# Java Javascript Exception

2
Hallo zusammen

Ich möchte ein XmlDokument erstellen. Um bestehenden Elementen Kinderelemente zuzufügen, würde ich die Elternelemente gerne mit der Methode XmlDocument.GetElementByID bestimmen.

Auf der MSDN Seite: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=DE-DE&k=k%28SYSTEM.XML.XMLDOCUMENT.GETELEMENTBYID%29;k%28GETELEMENTBYID%29;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22%29;k%28DevLang-CSHARP%29&rd=true ist ein gutes Beispiel.
Wenn ich aber die DTD-Deklaration im DOCTYE in eine XSD-Datei auslagere gibt mir GetElementByID NULL zurück.

Mein XSD-Datei sieht folgendermassen aus:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault ="qualified" attributeFormDefault="unqualified">

<xs:complexType name ="person-Type">
<xs:attribute name="Id" type="xs:ID"/>
<xs:attribute name="FullName" type="xs:string"/>
</xs:complexType>

<xs:element name="Root">
<xs:complexType>
<xs:sequence >
<xs:element ref ="Node" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name ="Node" type="person-Type"/>

</xs:schema>


Nun frage ich mich, ob der Fehler in der XSD-Datei liegt, oder die Methode GetElementByID überhaupt XSD fähig ist.

Gruss Alex
30.12.2011
Alex Feuz 85 1 4
2 Antworten
2
Die Antwort findest du in dem von dir angegebenen Link:
The DOM implementation must have information which defines which attributes are of type ID. Although attributes of type ID can be defined in either XSD schemas or DTDs, this version of the product only supports those defined in DTDs. Attributes with the name "ID" are not of type ID unless so defined in the DTD. Implementations where it is unknown whether the attributes are of type ID are expected to return null.
30.12.2011
Jürgen Luhr 7,1k 2 9
0
Danke Jürgen

Dass habe ich wohl übersehen!

Gruss Alex
30.12.2011
Alex Feuz 85 1 4
Gerne :o)
Jürgen Luhr 30.12.2011
@Alex: Magst Du Jürgens Antwort vielleicht auch noch "offiziell" akzeptieren (durch Klick auf das grüne Häkchen)?
Matthias Hlawatsch 30.12.2011

Stelle deine .net-Frage jetzt!