public static void Write(TextWriter writer, XNode node, string tabs)
{
if (node == null)
{
return;
}
if (node is XComment)
{
writer.Write(tabs);
writer.WriteLine(((XComment)node).Value);
}
else if (node is XElement)
{
writer.Write(tabs);
writer.Write(((XElement)node).Name);
if (((XElement)node).HasAttributes)
{
writer.Write(" " + ((XElement)node).Attribute("data").Value);
}
if (((XElement)node).HasElements)
{
writer.WriteLine();
writer.WriteLine(tabs + "{");
Write(writer, ((XElement)node).FirstNode, tabs + AnimFile.IndentString);
writer.WriteLine(tabs + "}");
}
else if (!string.IsNullOrEmpty(((XElement)node).Value) && !string.IsNullOrWhiteSpace(((XElement)node).Value))
{
writer.Write(" " + ((XElement)node).Value);
writer.WriteLine();
}
else
{
writer.WriteLine();
}
}
else
{
throw new Exception("Could not recognize this type of xml compnonent!");
}
Write(writer, node.NextNode, tabs);
}