Пример #1
0
        //============================================================
        // <T>获得调试转储信息。</T>
        //
        // @param info 转储信息
        // @return 转储信息
        //============================================================
        public virtual FDumpInfo Dump(FDumpInfo info)
        {
            RDump.StartDump(info);
            FXmlElement parent = (FXmlElement)info.Instance;

            if (parent.HasElement())
            {
                foreach (FXmlElement element in parent.Elements)
                {
                    info.IncreaseDeep(element);
                    Dump(info);
                    info.DecreaseDeep();
                }
            }
            return(info);
        }
Пример #2
0
        //============================================================
        // <T>获得调试转储信息。</T>
        //
        // @param info 转储信息
        // @return 转储信息
        //============================================================
        public override FDumpInfo Dump(FDumpInfo info)
        {
            RDump.StartDump(info);
            FXmlNode parent = (FXmlNode)info.Instance;

            // 转存名称
            info.Append(parent.Name);
            // 转存属性列表
            if (parent.HasAttribute())
            {
                info.Append(" [");
                foreach (IPair <string, string> pair in parent.Attributes)
                {
                    if (!pair.IsFirst())
                    {
                        info.Append(", ");
                    }
                    info.Append(pair.Name, "=", pair.Value);
                }
                info.Append("]");
            }
            // 转存内容
            if (parent.HasText())
            {
                info.Append("{");
                info.Append(parent.Text);
                info.Append("}");
            }
            // 转存元素列表
            if (parent.HasElement())
            {
                info.AppendLine();
                foreach (FXmlElement element in parent.Elements)
                {
                    info.IncreaseDeep(element);
                    Dump(info);
                    info.DecreaseDeep();
                }
            }
            return(info);
        }