コード例 #1
0
        public void TestSerializePureTextMessage()
        {
            var serializer = new WechatXmlSerializer();
            var message    = new TestTextMessage
            {
                Content      = "hello",
                CreateTime   = 11223,
                FromUserName = "******",
                ToUserName   = "******",
                Subs         = new Sub[]
                {
                    new Sub(), new Sub(),
                }
            };

            using (var stream = new MemoryStream())
            {
                serializer.Serialize(message, stream);
                stream.Position = 0;
                using (var reader = new StreamReader(stream))
                {
                    var result = reader.ReadToEnd();
                    Debug.WriteLine(result);
                }
            }
        }
コード例 #2
0
        public void TestDeserializePureTextMessage()
        {
            var xml =
                @"<xml>
  <ToUserName>Rongkai</ToUserName>
  <FromUserName>&lt;Lu&gt;</FromUserName>
  <CreateTime>11223</CreateTime>
  <MsgType>text</MsgType>
  <MsgId>11223</MsgId>
  <Content>hello</Content>
  <ssss>
    <dd>
      <X>8/26/2015 11:56:06 PM</X>
    </dd>
    <dd>
      <X>8/26/2015 11:56:06 PM</X>
    </dd>
  </ssss>
</xml>";

            var serializer = new WechatXmlSerializer();

            TestTextMessage message;

            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.WriteLine(xml);
                    writer.Flush();
                    stream.Position = 0;
                    var xmlDoc = XDocument.Load(stream);
                    message = serializer.Deserialize <TestTextMessage>(xmlDoc);
                }
            }

            Assert.Equal(message.Content, "hello");
            Assert.Equal(message.ToUserName, "Rongkai");
            Assert.Equal(message.FromUserName, "<Lu>");
            Assert.Equal(message.CreateTime, 11223);
        }