Exemplo n.º 1
0
 /// <summary>
 /// 加载对象数据
 /// </summary>
 /// <param name="myReader"></param>
 /// <returns></returns>
 internal override bool InnerRead(HTMLTextReader myReader)
 {
     myItems.Clear();
     strText = myReader.ReadToEndTag(this.TagName);
     if (strText != null)
     {
         strText = strText.Replace("<!--", "");
         strText = strText.Replace("-->", "");
         int index  = 0;
         int index2 = strText.IndexOf("{");
         while (index2 >= 0)
         {
             int index3 = strText.IndexOf("}", index2);
             if (index3 > index2)
             {
                 string            strName  = strText.Substring(index, index2 - index);
                 string            strValue = strText.Substring(index2 + 1, index3 - index2 - 1);
                 HTMLNameStyleItem NewItem  = new HTMLNameStyleItem();
                 NewItem.Name      = strName.Trim();
                 NewItem.CSSString = strValue;
                 myItems.Add(NewItem);
             }
             index  = index3 + 1;
             index2 = strText.IndexOf("{", index);
         }
     }
     //myReader.MoveAfter('>');
     return(true);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 从HTML读取器中加载对象数据
 /// </summary>
 /// <param name="myReader"></param>
 /// <returns></returns>
 internal override bool InnerRead(HTMLTextReader myReader)
 {
     strLoadErrorMsg = null;
     strSourceXML    = myReader.ReadToEndTag(this.TagName);
     try
     {
         myXMLDocument.RemoveAll();
         System.Xml.XmlNamespaceManager nsm = new System.Xml.XmlNamespaceManager(myXMLDocument.NameTable);
         foreach (HTMLAttribute attr in myOwnerDocument.Attributes)
         {
             string vName = attr.Name;
             if (vName.ToLower().StartsWith(StringConstAttributeName.XMLNS))
             {
                 int index = vName.IndexOf(":");
                 if (index > 0)
                 {
                     string NsName = vName.Substring(index + 1);
                     nsm.AddNamespace(NsName, attr.Value);
                 }
             }
         }
         System.Xml.XmlParserContext pc          = new System.Xml.XmlParserContext(myXMLDocument.NameTable, nsm, null, System.Xml.XmlSpace.None);
         System.Xml.XmlTextReader    myXMLReader = new System.Xml.XmlTextReader(strSourceXML, System.Xml.XmlNodeType.Element, pc);
         myXMLDocument.Load(myXMLReader);
         myXMLReader.Close();
     }
     catch (Exception ext)
     {
         myXMLDocument.RemoveAll();
         strLoadErrorMsg = "加载XML数据岛信息错误 - " + ext.Message;
     }
     return(true);
 }
Exemplo n.º 3
0
 /// <summary>
 /// 读取HTML代码,忽略HTML注释
 /// </summary>
 /// <param name="myReader">HTML文本读取器</param>
 /// <returns>操作是否成功</returns>
 internal override bool InnerRead(HTMLTextReader myReader)
 {
     strText = myReader.ReadToEndTag(this.TagName);
     if (strText != null)
     {
         int index = strText.IndexOf("<!--");
         if (index >= 0)
         {
             strText = strText.Substring(index + 4);
         }
         index = strText.LastIndexOf("-->");
         if (index >= 0)
         {
             strText = strText.Substring(0, index);
         }
     }
     //myReader.MoveAfter('>');
     return(true);
 }
Exemplo n.º 4
0
        /// <summary>
        /// 从HTML文本读取器读取数据并加载子元素
        /// </summary>
        /// <param name="myReader">HTML文本读取器</param>
        /// <returns>操作是否成功</returns>
        internal override bool InnerRead(HTMLTextReader myReader)
        {
            string strTagName;

            while (!myReader.EOF)
            {
                string strText = myReader.ReadString();
                if (strText != null && this.CheckChildTagName(StringConstTagName.TextNode))
                {
                    HTMLTextNodeElement txt = new HTMLTextNodeElement();
                    txt.Text = strText;
                    AppendChild(txt);
                }
                if (myReader.EOF)
                {
                    break;
                }
                if (myReader.NextChar == '!')
                {
                    if (myReader.StartWidth("<!--"))
                    {
                        myReader.MoveStep(4);
                        strText = myReader.ReadUntil("-->");
                        if (strText != null)
                        {
                            if (this.CheckChildTagName(StringConstTagName.Comment))
                            {
                                HTMLCommentElement com = new HTMLCommentElement();
                                com.Text = strText;
                                AppendChild(com);
                            }
                        }
                        myReader.MoveStep(3);
                        continue;
                    }
                    else
                    {
                        myReader.MoveAfter('>');
                        myReader.SkipWhiteSpace();
                        continue;
                    }
                }
                //				else if( myReader.NextChar == '/')
                //				{
                //					if( myReader.StartWidth("</" + this.TagName ))
                //					{
                //						myReader.MoveAfter('>');
                //						break;
                //					}
                //					else
                //					{
                //						myReader.MoveAfter('>');
                //						continue;
                //					}
                //				}
                else if (myReader.NextChar == '/')
                {
                    myReader.MoveStep(2);
                    string vEndTag = myReader.PeekWord();
                    myReader.MoveStep(-2);
                    //					if( ( vEndTag != null ) && vEndTag.ToLower() == this.TagName )
                    //					{
                    //						myReader.MoveAfter('>');
                    //						break;
                    //					}
                    if ((vEndTag != null) && (MeetEndTag(myReader, vEndTag.ToLower())))
                    {
                        break;
                    }
                    else
                    {
                        myReader.MoveAfter('>');
                        continue;
                    }
                }
                else if (myReader.NextChar == '?')
                {
                    myReader.MoveAfter('>');
                    continue;
                }
                myReader.MoveNext();
                strTagName = myReader.ReadWord();
                if (strTagName != null)
                {
                    strTagName = strTagName.ToLower();
                    if (!BeforeLoadTag(strTagName))
                    {
                        myReader.MovePreTo('<');
                        break;
                    }
                    if (this.CheckChildTagName(strTagName))
                    {
                        HTMLElement NewElement = myOwnerDocument.InnerCreateElement(strTagName, this);
                        if (NewElement != null)
                        {
                            AppendChild(NewElement);
                            NewElement.Read(myReader);
                        }
                        else
                        {
                            myReader.ReadToEndTag(strTagName);
                        }
                    }
                }
            }            //while
            return(true);
        }
Exemplo n.º 5
0
 internal override bool InnerRead(HTMLTextReader myReader)
 {
     strText = myReader.ReadToEndTag(this.TagName);
     return(true);
 }