/// <summary> /// ContentsItemの保存を行います。 /// </summary> /// <param name="info"></param> public override void SaveContentsItem(XmlContentsItemWriteInfo info) { XmlWriter writer = info.Writer; XmlContentsItem item = info.Item; writer.WriteString(item.Value.ToString()); }
/// <summary> /// ContentsItemを保存します。 /// </summary> /// <param name="info"></param> public override void SaveContentsItem(XmlContentsItemWriteInfo info) { XmlWriter writer = info.Writer; XmlContentsItemProvider provider = info.ItemProvider; XmlContentsItem item = info.Item; writer.WriteStartElement(provider.ItemRootElement); writer.WriteAttributeString(provider.ItemRootNameAttribute, item.Name); writer.WriteAttributeString(provider.ItemRootTypeAttribute, item.Type.ToString()); //TODO:ItemのSave //item.Save(writer); XmlContentsItemWriter itemWriter = this.CreateItemWriter(item.Type); itemWriter.SaveContentsItem(info); writer.WriteEndElement(); }
/// <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); } }
/// <summary> /// Contentsを保存します。 /// </summary> /// <param name="info"></param> public override void SaveContents(XmlContentsWriteInfo info) { XmlWriter writer = info.Writer; XmlContents contents = info.Contents; writer.WriteStartElement(contents.ContentsRootElement); writer.WriteAttributeString(contents.ContentsRootNameAttribute, contents.Name); writer.WriteAttributeString(contents.ContentsRootCountAttribute, contents.RootItem.Items.Count.ToString()); foreach (XmlContentsItem item in contents.RootItem.Items.Values) { XmlContentsItemWriteInfo itemInfo = new XmlContentsItemWriteInfo() { Writer = writer, ItemProvider = contents.ItemProvider, Item = item }; this.SaveContentsItem(itemInfo); //this.m_ItemProvider.Save(writer, item); } writer.WriteEndElement(); }
/// <summary> /// 派生クラスでオーバーライドされると、ContentsItemの保存を行うメソッドを定義します。 /// </summary> /// <param name="info"></param> public abstract void SaveContentsItem(XmlContentsItemWriteInfo info);