Пример #1
0
 private static IDictionary <string, XmlRpcValue> ReadMembers(IEnumerable <XElement> memberElements,
                                                              IValueReaders readers)
 {
     return(memberElements
            .ToDictionary(me => me.Element(XmlRpcTags.Name)?.Value,
                          me => ReadMemberValue(me.Element(XmlRpcTags.Value), readers)));
 }
Пример #2
0
        private static XmlRpcValue CreateValue(XNode valueNode, IValueReaders readers)
        {
            var valueElements = valueNode.XPathSelectElements(XmlRpcTags.Data + "/" + XmlRpcTags.Value);

            var values = GetValues(valueElements, readers);

            return new ArrayValue(values.ToArray());
        }
Пример #3
0
        private static XmlRpcValue CreateValue(XNode valueNode, IValueReaders readers)
        {
            var memberElements = valueNode.XPathSelectElements(XmlRpcTags.Member);

            var structDictionary = ReadMembers(memberElements, readers);

            return(new StructValue(structDictionary));
        }
Пример #4
0
        protected ModelReaderBase(IValueReaders readers)
        {
            Ensure.IsNotNull(readers, nameof(readers));

            _readers = readers;
        }
Пример #5
0
 public RequestModelReader(IValueReaders valueReaders) : base(valueReaders)
 {
 }
Пример #6
0
 private static IEnumerable<XmlRpcValue> GetValues(IEnumerable<XElement> valueElements, IValueReaders readers)
 {
     return valueElements.Select(readers.ReadValue);
 }
Пример #7
0
 public ArrayValueReader(IValueReaders readers) :
     base(new []{XmlRpcTags.Array}, valueElement => CreateValue(valueElement, readers))
 {
 }
Пример #8
0
 private static XmlRpcValue ReadMemberValue(XElement memberValueElement, IValueReaders readers)
 {
     return(readers.ReadValue(memberValueElement));
 }
Пример #9
0
 public StructValueReader(IValueReaders readers) :
     base(new [] { XmlRpcTags.Struct }, valueElement => CreateValue(valueElement, readers))
 {
 }
Пример #10
0
 public ResponseModelReader(IValueReaders readers) : base(readers)
 {
 }