发布网友 发布时间:2022-04-28 18:15
共2个回答
热心网友 时间:2022-04-10 12:58
唉,我只会用java的n中解析xml方法,去问了别人,
/// <summary>
/// 从XML字符串中反序列化对象
/// </summary>
/// <typeparam name="T">结果对象类型<peparam>
/// <param name="s">包含对象的XML字符串</param>
/// <param name="encoding">编码方式</param>
/// <returns>反序列化得到的对象</returns>
public static T XmlDeserialize<T>(string s, Encoding encoding)
{
if (string.IsNullOrEmpty(s))
throw new ArgumentNullException("s");
if (encoding == null)
throw new ArgumentNullException("encoding");
XmlSerializer mySerializer = new XmlSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(encoding.GetBytes(s)))
{
using (StreamReader sr = new StreamReader(ms, encoding))
{
return (T)mySerializer.Deserialize(sr);
}
}
}
总的来说他是用了一个XmlSerializer来解析的,这个XmlSerializer是vs自带的,
XmlSerializer mySerializer = new XmlSerializer(typeof(T));
这个T是你根据xml定义的类,比如你这个
ACTION,你定义个ACTION类,属性sessionid。seqno。name。params(这个params是定义个类)
params类中的param这个集合,如果自己定义的属性跟节点不一样的话需要用[XmlElement("xml中的节点")]
比如:他截取的图片
唉,不知道有木有用,后来问到他节点中的属性,比如param中的name怎么获取,他说不知道,我想死。。。。。。。。。。。。。。。
热心网友 时间:2022-04-10 14:16
推荐使用xstream,定义好xstream的格式就行,如name=”param1”内部属性。<param name=”param1”>value of param1</param>