System.Xml.XmlTextReader.ResolveEntity C# (CSharp) Method

ResolveEntity() public method

public ResolveEntity ( ) : void
return void
        public override void ResolveEntity()
        {
            _impl.ResolveEntity();
        }

Usage Example

Example #1
0
        void ResolveEntity()
        {
            if (entity != null)
            {
                entity.ResolveEntity();
            }
            else
            {
                if (source.NodeType != XmlNodeType.EntityReference)
                {
                    throw new InvalidOperationException("The current node is not an Entity Reference");
                }
                XmlTextReaderImpl entReader = null;

#if NOT_PFX
                if (ParserContext.Dtd != null)
                {
                    entReader = ParserContext.Dtd.GenerateEntityContentReader(source.Name, ParserContext);
                }
#endif
                if (entReader == null)
                {
                    throw new XmlException(this as IXmlLineInfo, this.BaseURI, String.Format("Reference to undeclared entity '{0}'.", source.Name));
                }
                if (entityNameStack == null)
                {
                    entityNameStack = new Stack <string> ();
                }
                else if (entityNameStack.Contains(Name))
                {
                    throw new XmlException(String.Format("General entity '{0}' has an invalid recursive reference to itself.", Name));
                }
                entityNameStack.Push(Name);
                entity = new XmlTextReader(
                    entReader, insideAttribute);
                entity.entityNameStack = entityNameStack;
                entity.CopyProperties(this);
            }
        }
All Usage Examples Of System.Xml.XmlTextReader::ResolveEntity