private XmlElement GetCurrentElement ()
{
XmlElement el = null;
switch (current.NodeType) {
case XmlNodeType.Attribute:
el = ((XmlAttribute) current).OwnerElement;
break;
case XmlNodeType.Element:
el = (XmlElement) current;
break;
case XmlNodeType.Text:
case XmlNodeType.CDATA:
case XmlNodeType.EntityReference:
case XmlNodeType.Comment:
case XmlNodeType.SignificantWhitespace:
case XmlNodeType.Whitespace:
case XmlNodeType.ProcessingInstruction:
el = current.ParentNode as XmlElement;
break;
}
return el;
}