相关疑难解决方法(0)

将Xml反序列化为对象时出错 - 不期望xmlns =''

我在尝试反序列化某些XML时遇到了麻烦,希望有人可以提供一些帮助.我已经阅读了很多类似的帖子,但我无法解决这个问题.

XML我试图反序列化

<register-account success="false">
  <user-name>xxxxx</user-name>
  <password>fghgh</password>
  <email>test@example.com</email>
  <error>
    <errorcode>120</errorcode>
    <errormessage>The password is invalid</errormessage>
  </error>
</register-account>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将反序列化为:

[Serializable, XmlRoot(ElementName = "register-account", Namespace = "MyNamespace")]
[XmlType("register-account")]
public class RegisterAccountResponse
{
    [XmlAttribute("success")]
    public bool Success { get; set; } 

    /// <summary>
    /// Gets or sets the Tennant email address
    /// </summary>
    [XmlElement("email")]
    public string Email { get; set; }

    /// <summary>
    /// Gets or sets the tennant password
    /// </summary>
    [XmlElement("password")]
    public string Password { get; set; }

    /// <summary>
    /// Gets or …
Run Code Online (Sandbox Code Playgroud)

.net c# xml serialization deserialization

42
推荐指数
1
解决办法
9万
查看次数

xmlns =''>不是预期的. - XML文档中存在错误(2,2)

我试图反序列化这个简单的Web服务的响应

我使用以下代码:

WebRequest request = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111");    
WebResponse ws = request.GetResponse();
XmlSerializer s = new XmlSerializer(typeof(string));
string reponse = (string)s.Deserialize(ws.GetResponseStream());
Run Code Online (Sandbox Code Playgroud)

.net c# xml xml-serialization

23
推荐指数
2
解决办法
4万
查看次数

将单个XElement转换为对象

我有一个XElement看起来像这样:

<row flag="1" sect="" header="" body="" extrainfo="0" />
Run Code Online (Sandbox Code Playgroud)

然后我有一个看起来像这样的课:

public class ProductAttribute
{
    public string Flag { get; set; }
    public string Sect { get; set; }
    public string Header { get; set; }
    public string Body { get; set; }
    public string Extrainfo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何将其XElement转换为ProductAttribute对象?

.net c# xml xelement linq-to-xml

15
推荐指数
3
解决办法
2万
查看次数

C#XML文档中存在错误(2,2)

我正在尝试反序列化以下XML:

<?xml version="1.0" encoding="UTF-8"?>
<XGResponse><Failure code="400">
    Message id &apos;1&apos; was already submitted.
</Failure></XGResponse>
Run Code Online (Sandbox Code Playgroud)

通过这个电话:

[...]
    var x = SerializationHelper.Deserialize<XMLGateResponse.XGResponse>(nResp);
[...]        

public static T Deserialize<T>(string xml)
{
    using (var str = new StringReader(xml))
    {
        var xmlSerializer = new XmlSerializer(typeof(T));
        return (T)xmlSerializer.Deserialize(str);
    }
}
Run Code Online (Sandbox Code Playgroud)

获取相应类的实例:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18052
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------ …
Run Code Online (Sandbox Code Playgroud)

c# xml-deserialization

10
推荐指数
2
解决办法
6万
查看次数

System.InvalidOperationException:不期望<xmlns =''>

我在反序列化XML文档时遇到问题.它给了我:

XML文档中存在错误(1,23).---> System.InvalidOperationException:没想到.

这是我的XML:

<?xml version="1.0" ?> 
<car>
    <msg>asdfgg</msg> 
    <userGUID>234234</userGUID> 
    <event>vfrewvwev</event> 
</car>
Run Code Online (Sandbox Code Playgroud)

这是我生成的类:

[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.4.0.37595")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class car: System.ComponentModel.INotifyPropertyChanged {...
Run Code Online (Sandbox Code Playgroud)

这是我使用的反序列化方法:

MyApp ma = MyApp.Deserialize(strXml);


public static MyApp Deserialize(string xml)
{
    System.IO.StringReader stringReader = null;
    try
    {
        stringReader = new System.IO.StringReader(xml);
        return ((MyApp)(Serializer.Deserialize(System.Xml.XmlReader.Create(stringReader))));
    }
    finally
    {
        if ((stringReader != null))
        {
            stringReader.Dispose();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# xml deserialization

1
推荐指数
1
解决办法
9693
查看次数