System.Xml.DocumentXPathNavigator.PreviousTextTail C# (CSharp) Méthode

PreviousTextTail() private méthode

private PreviousTextTail ( XmlNode node, XmlNode text ) : XmlNode
node XmlNode
text XmlNode
Résultat XmlNode
        private XmlNode PreviousTextTail(XmlNode node, XmlNode text) {
            if (text != null) {
                return text;
            }
            if (!node.IsText) {
                return null;
            }
            XmlNode sibling = node.PreviousSibling;
            while (sibling == null) {
                node = node.ParentNode;
                if (node == null
                    || node.NodeType != XmlNodeType.EntityReference) {
                    return null;
                }
                sibling = node.PreviousSibling;
            }
            while (sibling != null) {
                switch (sibling.NodeType) {
                    case XmlNodeType.EntityReference:
                        sibling = sibling.LastChild;
                        break;
                    case XmlNodeType.Text:
                    case XmlNodeType.CDATA:
                    case XmlNodeType.Whitespace:
                    case XmlNodeType.SignificantWhitespace:
                        return sibling; 
                    default:
                        return null;
                }
            }
            return null;
        }