コード例 #1
0
        protected virtual XacmlContextResourceContent ReadContextResourceContent(XmlReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException(nameof(reader));
            }

            if (!reader.IsStartElement(XacmlConstants.ElementNames.ResourceContent, this.Version.NamespaceContext))
            {
                throw ThrowHelperXml(reader, "XML message is not valid.");
            }

            // UNDONE: Read attributes
            XacmlContextResourceContent result = new XacmlContextResourceContent();

            if (reader.IsEmptyElement)
            {
                reader.Read();
                return(result);
            }

            reader.ReadStartElement(XacmlConstants.ElementNames.ResourceContent, this.Version.NamespaceContext);
            // Read elements
            result.Value = reader.ReadOuterXml();

            reader.ReadEndElement();

            return(result);
        }
コード例 #2
0
        protected virtual void WriteContextResourceContent(XmlWriter writer, XacmlContextResourceContent xacmlContextResourceContent)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            if (xacmlContextResourceContent == null)
            {
                throw new ArgumentNullException(nameof(xacmlContextResourceContent));
            }

            writer.WriteStartElement(XacmlConstants.Prefixes.Context, XacmlConstants.ElementNames.ResourceContent, this.Version.NamespaceContext);

            // UNDONE AnyAttribute

            writer.WriteRaw(xacmlContextResourceContent.Value);

            writer.WriteEndElement();
        }