Laden...

XmlNodeType.Element hat beim Wiedereinlesen "NodeType.Text" statt den konkreten Typ

Erstellt von MarcusS vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.048 Views
M
MarcusS Themenstarter:in
153 Beiträge seit 2007
vor 5 Jahren
XmlNodeType.Element hat beim Wiedereinlesen "NodeType.Text" statt den konkreten Typ

Hallo zusammen,

ich möchte folgendes Xml erzeugen:


<Instance xmlns:xi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<ChangeLogs />
	<Attributes>
		<Attribute Key="076978d4-9953-42a2-be08-7bbc68bda5c1.IsEnabled">false</Attribute>
	</Attributes>
</Instance>

Genauer gesagt will ich "Attribute"-Elemente hinzufügen.
Das tue ich wie folgt:


var value = false;
var attributesNode = xmlDoc.GetElementsByTagName("Attributes").FirstOrDefault<XmlElement>();
var newAttribute = attributesNode.CreateElement("Attribute", value);
newAttribute.SetAttribute("Key", key + "." + newKeyPostFix);

Das funktioniert auch soweit.
Wenn ich das xml dann wieder einlese habe ich eine Abfrage auf den XmlNodeType:


if (reader.NodeType == System.Xml.XmlNodeType.Element)
...

Das angelegte "Attribute" Element hat aber den "NodeType.Text".

Wie kann ich denn den NodeType umsetzen?
Der ist readOnly beim XmlElement.

Wenn ich ein XmlNode anlege kann ich den NodeType festlegen.
Aber wir bekomme ich in den XmlNode das "Key" Attribute hinein?

Danke
Marcus

4.938 Beiträge seit 2008
vor 5 Jahren

Bist du dir sicher, daß sich der XmlNodeTyp.Text nicht einfach auf den Inhalt, d.h. false bezieht? Und vorher ein passendes XmlNodeTyp.Element gelesen wird.

2.207 Beiträge seit 2011
vor 5 Jahren

Hallo MarcusS,

"XmlNodeType.Element" ist kein Titel. Ich habe ihn mal nach bestem Wissen und Gewissen geändert. Trifft er deine Anforderung nicht, ändere ihn bitte entsprechend. Danke.

Gruss

Coffeebean