远程读取的XML格式如下
<?xml version="1.0" encoding="gb2312"?>
<SSRequest>
<Request username="sdf" date="2010-05-30" />
</SSRequest>我的实体
public class Request
{
public string Username
{
get;
set;
}
public string Date {
get;
set;
}
}
查过XmlAttribute,貌似这种情况下要定义2个实体。请教如何从XML变成我想要的实体?
或者有工具能从Xml生成对应层次的实体吗?
<?xml version="1.0" encoding="gb2312"?>
<SSRequest>
<Request username="sdf" date="2010-05-30" />
</SSRequest>我的实体
public class Request
{
public string Username
{
get;
set;
}
public string Date {
get;
set;
}
}
查过XmlAttribute,貌似这种情况下要定义2个实体。请教如何从XML变成我想要的实体?
或者有工具能从Xml生成对应层次的实体吗?
{
[XmlElement("Request")]
public Request request { get; set; }
}
public class Request
{
[XmlAttribute("username")]
public string username { get; set; }
[XmlAttribute("date")]
public string date { get; set; }
} string str = @"<?xml version=""1.0"" encoding=""gb2312""?>
<SSRequest>
<Request username=""sdf"" date=""2010-05-30"" />
</SSRequest>";
XmlSerializer xml = new XmlSerializer(typeof(SSRequest));
MemoryStream ms = new MemoryStream(Encoding.GetEncoding("gb2312").GetBytes(str));
SSRequest ssrequest = xml.Deserialize(ms) as SSRequest;
ms.Dispose();
Console.WriteLine(ssrequest.request.username + "==" + ssrequest.request.date);
//sdf==2010-05-30
<a>
<b>
<c att="2"><c>
<b>
<a>
我只需要节点C里面的内容。。但实体是不是一定要建立a和b?
你觉得这是表达一个实体的xml么?就像你在问题中写的那种 SSRequest 才是一个实体。每一个xml都只能有一个实体。