rt
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> <appid><![CDATA[1111111]]></appid> <mch_id><![CDATA[1232804202]]></mch_id> <device_info><![CDATA[013467007045764]]></device_info> <nonce_str><![CDATA[11111111]]></nonce_str> <sign><![CDATA[1111111]]></sign> <result_code><![CDATA[SUCCESS]]></result_code> <prepay_id><![CDATA[0000000]]></prepay_id> <trade_type><![CDATA[JSAPI]]></trade_type> </xml>
中个怎么非标准了?看着挺标准的啊
xml很标准 但是不能直接反序列化
标准的格式为
<?xml version="1.0" encoding="utf-8" ?>
等等
@小眼睛老鼠: 不会啊,你这个用自带的反序列化工具是可以直接序列化的
@吴瑞祥: 有demo 么 我想看看 我自己调试是没通过的
@小眼睛老鼠: 他这个问题是出在,最外面的root节点名称必须与类名一致,在序列化的类上加xmlroot特性,值为xml,就可以了
@吴瑞祥:
public ActionResult Index() { // 去掉namespace var xmlnamespace = new XmlSerializerNamespaces(); xmlnamespace.Add(string.Empty, string.Empty); // 去掉<?xml version="1.0" encoding="utf-8" ?> XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = false; settings.OmitXmlDeclaration = true; settings.Encoding = Encoding.Default; MemoryStream ms = new MemoryStream(); XmlWriter writer = XmlWriter.Create(ms, settings); XmlSerializer serializer = new XmlSerializer(typeof(SubjectDatas)); serializer.Serialize(writer, new SubjectDatas(), xmlnamespace); return Content(Encoding.UTF8.GetString(ms.ToArray())); }