Stream(System.Xml.XmlNode node) { m_dataObjs.Add(new Snoop.Data.ClassSeparator(typeof(System.Xml.XmlNode))); m_dataObjs.Add(new Snoop.Data.String("Node type", node.NodeType.ToString())); m_dataObjs.Add(new Snoop.Data.String("Name", node.Name)); m_dataObjs.Add(new Snoop.Data.String("Local name", node.LocalName)); m_dataObjs.Add(new Snoop.Data.String("Value", node.Value)); m_dataObjs.Add(new Snoop.Data.Bool("Has child nodes", node.HasChildNodes)); m_dataObjs.Add(new Snoop.Data.String("Inner text", node.InnerText)); m_dataObjs.Add(new Snoop.Data.Xml("Inner XML", node.InnerXml, false)); m_dataObjs.Add(new Snoop.Data.Xml("Outer XML", node.OuterXml, false)); m_dataObjs.Add(new Snoop.Data.Bool("Is read only", node.IsReadOnly)); m_dataObjs.Add(new Snoop.Data.String("BaseURI", node.BaseURI)); m_dataObjs.Add(new Snoop.Data.String("Namespace URI", node.NamespaceURI)); m_dataObjs.Add(new Snoop.Data.String("Prefix", node.Prefix)); // branch to all known major sub-classes System.Xml.XmlAttribute att = node as System.Xml.XmlAttribute; if (att != null) { Stream(att); return; } System.Xml.XmlDocument doc = node as System.Xml.XmlDocument; if (doc != null) { Stream(doc); return; } System.Xml.XmlDocumentFragment docFrag = node as System.Xml.XmlDocumentFragment; if (docFrag != null) { Stream(docFrag); return; } System.Xml.XmlEntity ent = node as System.Xml.XmlEntity; if (ent != null) { Stream(ent); return; } System.Xml.XmlNotation notation = node as System.Xml.XmlNotation; if (notation != null) { Stream(notation); return; } System.Xml.XmlLinkedNode lnkNode = node as System.Xml.XmlLinkedNode; if (lnkNode != null) { Stream(lnkNode); return; } }
Stream(System.Xml.XmlLinkedNode lnkNode) { m_dataObjs.Add(new Snoop.Data.ClassSeparator(typeof(System.Xml.XmlLinkedNode))); // No data to show at this level, but we want to explicitly // show that there is an intermediate class. System.Xml.XmlElement elem = lnkNode as System.Xml.XmlElement; if (elem != null) { Stream(elem); return; } System.Xml.XmlCharacterData charData = lnkNode as System.Xml.XmlCharacterData; if (charData != null) { Stream(charData); return; } System.Xml.XmlDeclaration decl = lnkNode as System.Xml.XmlDeclaration; if (decl != null) { Stream(decl); return; } System.Xml.XmlDocumentType dType = lnkNode as System.Xml.XmlDocumentType; if (dType != null) { Stream(dType); return; } System.Xml.XmlEntityReference entRef = lnkNode as System.Xml.XmlEntityReference; if (entRef != null) { Stream(entRef); return; } System.Xml.XmlProcessingInstruction pi = lnkNode as System.Xml.XmlProcessingInstruction; if (pi != null) { Stream(pi); return; } }