private static void WriteBoundElementContentTo(DataPointer dp, XmlWriter w) { if (!dp.IsEmptyElement && dp.MoveToFirstChild()) { do { WriteTo(dp, w); }while (dp.MoveToNextSibling()); dp.MoveToParent(); } }
private static void WriteTo(DataPointer dp, XmlWriter w) { switch (dp.NodeType) { case XmlNodeType.Attribute: if (!dp.IsDefault) { w.WriteStartAttribute(dp.Prefix, dp.LocalName, dp.NamespaceURI); if (dp.MoveToFirstChild()) { do { WriteTo(dp, w); }while (dp.MoveToNextSibling()); dp.MoveToParent(); } w.WriteEndAttribute(); } break; case XmlNodeType.Element: WriteBoundElementTo(dp, w); break; case XmlNodeType.Text: w.WriteString(dp.Value); break; default: Debug.Assert(((IXmlDataVirtualNode)dp).IsOnColumn(null)); if (dp.GetNode() != null) { dp.GetNode().WriteTo(w); } break; } }
private static void WriteTo( DataPointer dp, XmlWriter w ) { switch ( dp.NodeType ) { case XmlNodeType.Attribute: if ( !dp.IsDefault ) { w.WriteStartAttribute( dp.Prefix, dp.LocalName, dp.NamespaceURI ); if ( dp.MoveToFirstChild() ) { do { WriteTo( dp, w ); } while ( dp.MoveToNextSibling() ); dp.MoveToParent(); } w.WriteEndAttribute(); } break; case XmlNodeType.Element: WriteBoundElementTo( dp, w ); break; case XmlNodeType.Text: w.WriteString(dp.Value); break; default: Debug.Assert( ((IXmlDataVirtualNode)dp).IsOnColumn( null ) ); if ( dp.GetNode() != null ) dp.GetNode().WriteTo( w ); break; } }
private static void WriteBoundElementContentTo( DataPointer dp, XmlWriter w ) { if ( !dp.IsEmptyElement && dp.MoveToFirstChild() ) { do { WriteTo( dp, w ); } while ( dp.MoveToNextSibling() ); dp.MoveToParent(); } }
private static void WriteTo(DataPointer dp, XmlWriter w) { switch (dp.NodeType) { case XmlNodeType.Element: WriteBoundElementTo(dp, w); return; case XmlNodeType.Attribute: if (dp.IsDefault) { break; } w.WriteStartAttribute(dp.Prefix, dp.LocalName, dp.NamespaceURI); if (dp.MoveToFirstChild()) { do { WriteTo(dp, w); } while (dp.MoveToNextSibling()); dp.MoveToParent(); } w.WriteEndAttribute(); return; case XmlNodeType.Text: w.WriteString(dp.Value); return; default: if (dp.GetNode() != null) { dp.GetNode().WriteTo(w); } break; } }