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();
}
}