public static XmlDictionaryReader CreateJsonReader(byte[] buffer, int offset, int count, Encoding?encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose?onClose)
        {
            XmlJsonReader reader = new XmlJsonReader();

            reader.SetInput(buffer, offset, count, encoding, quotas, onClose);
            return(reader);
        }
Пример #2
0
 /// <summary>
 /// Constructor with KnownTypes specified
 /// </summary>
 /// <param name="stream">Input reader stream</param>
 /// <param name="knownTypes">List of types to reflect from</param>
 public ODataJsonReader(Stream stream, Type[] knownTypes)
     : base(stream, knownTypes)
 {
     
     //    reader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
     reader = new XmlJsonReader(stream, XmlDictionaryReaderQuotas.Max);
 }
        public static XmlDictionaryReader CreateJsonReader(Stream stream, Encoding?encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose?onClose)
        {
            XmlJsonReader reader = new XmlJsonReader();

            reader.SetInput(stream, encoding, quotas, onClose);
            return(reader);
        }
Пример #4
0
        private static string Convert(string xml, string rootPath)
        {
            var xmlReader  = new XmlTextReader(new StringReader(xml));
            var jsonReader = new XmlJsonReader(xmlReader, rootPath);
            var textReader = new TextJsonReader(jsonReader);

            return(textReader.ReadToEnd());
        }
Пример #5
0
            protected override int ReadArray(XmlDictionaryReader reader, string localName, string namespaceUri, DateTime[] array, int offset, int count)
            {
                XmlJsonReader.CheckArray(array, offset, count);
                int actual = 0;

                while (actual < count && reader.IsStartElement(JsonGlobals.itemString, string.Empty))
                {
                    array[offset + actual] = JsonReaderDelegator.ParseJsonDate(reader.ReadElementContentAsString(), _dateTimeFormat);
                    actual++;
                }
                return(actual);
            }
Пример #6
0
        protected override int ReadArray(XmlDictionaryReader reader, string localName, string namespaceUri, byte[] array, int offset, int count)
        {
            XmlJsonReader.CheckArray(array, offset, count);
            int actual = 0;

            while (actual < count && reader.IsStartElement(JsonGlobals.itemString, string.Empty))
            {
                array[offset + actual] = ToByte(reader.ReadElementContentAsInt());
                actual++;
            }
            return(actual);
        }
Пример #7
0
 internal void WriteArray(XmlWriter writer, byte[] array, int offset, int count)
 {
     XmlJsonReader.CheckArray(array, offset, count);
     writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.arrayString);
     for (int i = 0; i < count; i++)
     {
         writer.WriteStartElement(JsonGlobals.itemString, string.Empty);
         writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.numberString);
         writer.WriteValue((int)array[offset + i]);
         writer.WriteEndElement();
     }
 }
            protected override int ReadArray(XmlDictionaryReader reader, string localName, string namespaceUri, DateTime[] array, int offset, int count)
            {
                XmlJsonReader.CheckArray(array, offset, count);
                int num = 0;

                while ((num < count) && reader.IsStartElement("item", string.Empty))
                {
                    array[offset + num] = JsonReaderDelegator.ParseJsonDate(reader.ReadElementContentAsString());
                    num++;
                }
                return(num);
            }
Пример #9
0
 internal void WriteArray(XmlWriter writer, byte[] array, int offset, int count)
 {
     XmlJsonReader.CheckArray(array, offset, count);
     writer.WriteAttributeString(string.Empty, "type", string.Empty, "array");
     for (int i = 0; i < count; i++)
     {
         writer.WriteStartElement("item", string.Empty);
         writer.WriteAttributeString(string.Empty, "type", string.Empty, "number");
         writer.WriteValue((int)array[offset + i]);
         writer.WriteEndElement();
     }
 }
Пример #10
0
        public void ProcessingInstructionsTest()
        {
            const string xml = @"
				<?statusCode 200?>
				<?header Foo=""bar""?>
				<?header Baz=""qux""?>
				<Foo>
					<Bar>Baz</Bar>
				</Foo>"                ;

            var xmlReader  = new XmlTextReader(new StringReader(xml));
            var jsonReader = new XmlJsonReader(xmlReader);

            jsonReader.ReadProcessingInstructions();
            var textReader = new TextJsonReader(jsonReader);
            var result     = textReader.ReadToEnd();

            Assert.AreEqual("Foo=\"bar\"", jsonReader.ProcessingInstructions["header"][0]);
            Assert.AreEqual("Baz=\"qux\"", jsonReader.ProcessingInstructions["header"][1]);
            Assert.AreEqual("200", jsonReader.ProcessingInstructions["statusCode"][0]);
            Assert.AreEqual("{\"Foo\":{\"Bar\":\"Baz\"}}", result);
        }
Пример #11
0
 /// <summary>
 /// Constructor with KnownTypes specified
 /// </summary>
 /// <param name="stream">Input reader stream</param>
 /// <param name="knownTypes">List of types to reflect from</param>
 public ODataJsonReader(Stream stream, Type[] knownTypes)
     : base(stream, knownTypes)
 {
     //    reader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
     reader = new XmlJsonReader(stream, XmlDictionaryReaderQuotas.Max);
 }