LSLib.LS.LSXWriter.WriteNode C# (CSharp) Méthode

WriteNode() private méthode

private WriteNode ( Node node ) : void
node Node
Résultat void
        private void WriteNode(Node node)
        {
            writer.WriteStartElement("node");
            writer.WriteAttributeString("id", node.Name);

            foreach (var attribute in node.Attributes)
            {
                writer.WriteStartElement("attribute");
                writer.WriteAttributeString("id", attribute.Key);
                writer.WriteAttributeString("value", attribute.Value.ToString());
                writer.WriteAttributeString("type", ((int)attribute.Value.Type).ToString());
                if (attribute.Value.Type == NodeAttribute.DataType.DT_TranslatedString)
                    writer.WriteAttributeString("handle", ((TranslatedString)attribute.Value.Value).Handle);
                writer.WriteEndElement();
            }

            if (node.ChildCount > 0)
            {
                writer.WriteStartElement("children");
                foreach (var children in node.Children)
                {
                    foreach (var child in children.Value)
                        WriteNode(child);
                }
                writer.WriteEndElement();
            }

            writer.WriteEndElement();
        }
    }