Esempio n. 1
0
            /// <summary>
            /// ContentsItemの保存を行います。
            /// </summary>
            /// <param name="info"></param>
            public override void SaveContentsItem(XmlContentsItemWriteInfo info)
            {
                XmlWriter                writer    = info.Writer;
                XmlContentsItem          item      = info.Item;
                ContainerXmlContentsItem container = (ContainerXmlContentsItem)item;

                writer.WriteElementString(container.ItemCountElement, container.Items.Count.ToString());
                foreach (XmlContentsItem item1 in container.Items.Values)
                {
                    XmlContentsItemWriteInfo itemInfo = new XmlContentsItemWriteInfo()
                    {
                        Writer       = info.Writer,
                        ItemProvider = info.ItemProvider,
                        Item         = item1
                    };
                    this.ParentWriter.SaveContentsItem(itemInfo);
                    //this.m_ItemProvider.Save(writer, item1);
                }
            }
Esempio n. 2
0
            /// <summary>
            /// ContentsItemを読み込みます。
            /// </summary>
            /// <param name="item"></param>
            /// <param name="info"></param>
            public override void LoadContentsItem(XmlContentsItem item, XmlContentsItemReadInfo info)
            {
                XmlTextReader            reader    = info.Reader;
                ContainerXmlContentsItem container = (ContainerXmlContentsItem)item;

                try {
                    reader.ReadStartElement(container.ItemCountElement);
                    int count = int.Parse(reader.ReadString());
                    reader.Read();
                    for (int i = 0; i < count; i++)
                    {
                        //XmlContentsItem item1 = container.ItemProvider.Load(reader);
                        XmlContentsItem item1 = this.ParentReader.LoadContentsItem(info);
                        container.Items.Add(item1.Name, item1);
                    }
                }
                catch (XmlException) { // ex){
                                       //AppMain.g_AppMain.DebugWrite(ex);
                    throw;
                }
            }
Esempio n. 3
0
            /// <summary>
            /// ContentsItemを読み込みます。
            /// </summary>
            /// <param name="item"></param>
            /// <param name="info"></param>
            public override void LoadContentsItem(XmlContentsItem item, XmlContentsItemReadInfo info)
            {
                XmlTextReader            reader    = info.Reader;
                ContainerXmlContentsItem container = (ContainerXmlContentsItem)item;

                try {
                    //reader.ReadStartElement(container.ItemCountElement);
                    //int count = int.Parse(reader.ReadString());
                    //reader.Read();
                    //NOTE:HaveAttribute=Trueによりreader.Readが必要になったが、Count要素が無くなったため、reader.Readが不要となり、相殺された。
                    int count = int.Parse(reader.GetAttribute(container.ItemCountElement));
                    reader.Read();
                    for (int i = 0; i < count; i++)
                    {
                        //XmlContentsItem item1 = container.ItemProvider.Load(reader);
                        XmlContentsItem item1 = this.ParentReader.LoadContentsItem(info);
                        container.Items.Add(item1.Name, item1);
                    }
                }
                catch (XmlException) { // ex){
                                       //AppMain.g_AppMain.DebugWrite(ex);
                    throw;
                }
            }