コード例 #1
0
ファイル: CacheItem.cs プロジェクト: nxoxn/EPPlus
        /// <summary>
        /// Creates an instance of a <see cref="CacheItem"/> object given a type and value.
        /// </summary>
        /// <param name="namespaceManager">The namespace manager.</param>
        /// <param name="parentNode">The parent xml node. It must be a sharedItems <see cref="XmlNode"/> or a cacheRecord <see cref="XmlNode"/>.</param>
        /// <param name="type">The type of this item.</param>
        /// <param name="value">The value of this item.</param>
        public CacheItem(XmlNamespaceManager namespaceManager, XmlNode parentNode, PivotCacheRecordType type, string value) : base(namespaceManager, null)
        {
            if (parentNode == null)
            {
                throw new ArgumentNullException(nameof(parentNode));
            }
            base.TopNode = parentNode.OwnerDocument.CreateElement(type.ToString(), parentNode.NamespaceURI);
            this.Type    = type;
            var attr = parentNode.OwnerDocument.CreateAttribute("v");

            base.TopNode.Attributes.Append(attr);
            this.Value = value;
        }
コード例 #2
0
        /// <summary>
        /// Replace <see cref="XmlNode"/> with new node type and value.
        /// </summary>
        /// <param name="type">The new <see cref="PivotCacheRecordType"/>.</param>
        /// <param name="value">The value.</param>
        /// <param name="parentNode">The parent <see cref="XmlNode"/>.</param>
        public void ReplaceNode(PivotCacheRecordType type, string value, XmlNode parentNode)
        {
            if (parentNode == null)
            {
                throw new ArgumentNullException(nameof(parentNode));
            }
            var newNode = parentNode.OwnerDocument.CreateElement(type.ToString(), parentNode.NamespaceURI);

            if (type != PivotCacheRecordType.m)
            {
                var attr = parentNode.OwnerDocument.CreateAttribute("v");
                newNode.Attributes.Append(attr);
            }
            parentNode.ReplaceChild(newNode, base.TopNode);
            base.TopNode = newNode;
            this.Type    = type;
            this.Value   = value;
        }
コード例 #3
0
 /// <summary>
 /// Creates an instance of a <see cref="CacheItem"/> object given a type and value.
 /// </summary>
 /// <param name="namespaceManager">The namespace manager.</param>
 /// <param name="parentNode">The parent xml node. It must be a sharedItems <see cref="XmlNode"/> or a cacheRecord <see cref="XmlNode"/>.</param>
 /// <param name="type">The type of this item.</param>
 /// <param name="value">The value of this item.</param>
 public CacheItem(XmlNamespaceManager namespaceManager, XmlNode parentNode, PivotCacheRecordType type, string value) : base(namespaceManager, null)
 {
     if (parentNode == null)
     {
         throw new ArgumentNullException(nameof(parentNode));
     }
     if (parentNode.LocalName != "sharedItems" && parentNode.LocalName != "r")
     {
         throw new ArgumentException($"{nameof(parentNode)} type: '{parentNode.Name}' was not the expected type.");
     }
     base.TopNode = parentNode.OwnerDocument.CreateElement(type.ToString(), parentNode.NamespaceURI);
     this.Type    = type;
     if (!string.IsNullOrEmpty(value))
     {
         var attr = parentNode.OwnerDocument.CreateAttribute("v");
         base.TopNode.Attributes.Append(attr);
         this.Value = value;
     }
 }