2017-06-16 4 views
0

Ich habe Fortschritte gemacht, um meine Einstellungen in Knoten zum Beispiel zu schreiben.Schreiben richtige XML fehlende Werte weiß Knoten

XmlDocument xmlDoc = new XmlDocument(); 
XmlNode rootNode = xmlDoc.CreateElement("Propertise"); 
xmlDoc.AppendChild(rootNode); 

XmlNode userNode = xmlDoc.CreateElement("Property"); 
XmlAttribute attribute = xmlDoc.CreateAttribute("default"); 
attribute.Value = "4.5"; 
userNode.Attributes.Append(attribute); 
attribute = xmlDoc.CreateAttribute("amount"); 
attribute.Value = "4.5"; 
userNode.Attributes.Append(attribute); 
attribute = xmlDoc.CreateAttribute("name"); 
attribute.Value = "some setting name"; 
userNode.Attributes.Append(attribute); 
rootNode.AppendChild(userNode); 

aber dies fehlt eine End-Eigenschaft-Tag in der XML.

Welchen Teil muss ich ändern, um das fehlende Tag zu vervollständigen?

+0

würde ich vorschlagen, bewegen 'xmlDoc.AppendChild (rootNode);' bis nach 'rootNode.AppendChild (userNode);'. –

Antwort

0

Es fehlt nicht End-Eigenschaft-Tag. Es ist ein selbst schließendes Tag, da es keine untergeordneten Knoten enthält.

<?xml version="1.0" encoding="utf-8"?> 
<Propertise> 
    <Property default="4.5" amount="4.5" name="some setting name" /> 
                   ^
                   | 
                  It is closed here. 
</Propertise> 

Einmal fügen Sie einige untergeordneten Knoten innerhalb es Tag wird in einer anderen Linie zu schließen, wie hier:

<?xml version="1.0" encoding="utf-8"?> 
<Propertise> 
    <Property default="4.5" amount="4.5" name="some setting name"> 
    <OtherProperty /> 
    </Property> 
</Propertise> 

Sie könnten auch statt XmlDocument beim nächsten Mal verwenden XDocument wollen, wie ich denke, es xML-Dokumente viel einfacher macht das Erstellen von:

XDocument doc = new XDocument(
new XElement("Properties", 
new XElement("Property", 
    new XAttribute("default", "4.5"), 
    new XAttribute("amount", "4.5"), 
    new XAttribute("name", "some setting name"))));