C# xml字符串序列化为对象时,提示:{"名称中不能包含“=”字符(十六进制值 0x3D)

C#xml字符串序列化为对象时,提示:{"名称中不能包含“=”字符(十六进制值0x3D)。第1行,位置64。"},大神帮我看看字符串哪里有问题我贴源代码:postInfo... C# xml字符串序列化为对象时,提示:{"名称中不能包含“=”字符(十六进制值 0x3D)。 第 1 行,位置 64。"},大神帮我看看 字符串哪里有问题我贴源代码:

postInfoBaseModel obj = XmlDeserialize<postInfoBaseModel>(result);

public static T XmlDeserialize<T>(string xmlString)
{
string test = "<?xml version=\"1.0\" encoding=\"UTF - 8\"?><postInfoBaseModelxmlns=\"http://tempuri.org/\"xmlns:xsd=\"http://www.w3.org/2001/XMLSchemaxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><status>503</status><message>1121</message></postInfoBaseModel>";
T t = default(T);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
using (StringReader stringReader = new StringReader(test))
{
Object obj = xmlSerializer.Deserialize(stringReader);
t = (T)obj;

}
return t;
}

//类定义
[Serializable]
public class postInfoBaseModel
{

[XmlElement("status")]
public int status { get; set; }

[XmlElement("message")]
public string message { get; set; }

}
展开
 我来答
钱备
2018-08-17 · TA获得超过1150个赞
知道小有建树答主
回答量:1027
采纳率:77%
帮助的人:148万
展开全部

你仔细看下

<?xml version="1.0" encoding="UTF - 8"?>
<postInfoBaseModelxmlns="http://tempuri.org/"xmlns:xsd="http://www.w3.org/2001/XMLSchemaxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>503</status>
<message>1121</message>
</postInfoBaseModel>

这样格式化就清楚了,

postInfoBaseModelxmlns=

中间少了一个空格,而且后面都少了很多空格,并且不要用输入法写代码,utf-8这里也错了,应该这样才对

<?xml version="1.0" encoding="UTF-8"?>
<postInfoBaseModel xmlns="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>503</status>
<message>1121</message>
</postInfoBaseModel>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式