void AttributesToXml(BinaryDataTree tree, IO.XmlElementStream s) { if (NameValues == null || NameValues.Count <= 1) { return; } if (tree.DecompileAttributesWithTypeData) { using (s.EnterCursorBookmark("Attributes")) { for (int x = 1; x < NameValues.Count; x++) { var name_value = NameValues[x]; using (s.EnterCursorBookmark(name_value.Name)) name_value.Variant.ToStream(s); } } } else { for (int x = 1; x < NameValues.Count; x++) { var name_value = NameValues[x]; name_value.Variant.ToStreamAsAttribute(name_value.Name, s); } } }
public XmlDocument ToXmlDocument(BinaryDataTree tree) { Contract.Requires(RootNode != null); Contract.Ensures(Contract.Result <XmlDocument>() != null); string root_name = RootNode.NodeName; var s = IO.XmlElementStream.CreateForWrite(root_name); RootNode.ToXml(tree, s); return(s.Document); }
void ChildrenToXml(BinaryDataTree tree, IO.XmlElementStream s) { if (Children == null || Children.Count == 0) { return; } foreach (var child in Children) { using (s.EnterCursorBookmark(child.NodeName)) child.ToXml(tree, s); } }
internal void ToXml(BinaryDataTree tree, IO.XmlElementStream s) { AttributesToXml(tree, s); ChildrenToXml(tree, s); InnerTextToXml(s); }