如何解析这个xml文件里边的字符串,谁解答一下,加高分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解析这个xml文件里边的字符串,谁解答一下,加高分相关的知识,希望对你有一定的参考价值。
C#中解析这个xml文件中的字符串,谁解答下啊
<?xml version="1.0" encoding="GB2312" ?>
<ACTION>
<sessionid>会话ID</sessionid>
<seqno>方法调用序列号0~65535循环</seqno>
<name>methodcall</name>
<params>
<param name=”param1”>value of param1</param>
<param name=”param2”>value of param2</param>
</params>
</ACTION>
唉,我只会用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怎么获取,他说不知道,我想死。。。。。。。。。。。。。。。 参考技术A 推荐使用xstream,定义好xstream的格式就行,如name=”param1”内部属性。<param name=”param1”>value of param1</param>
<param name=”param2”>value of param2</param>这个内部集合等,可以很方便地将xml转换为对象和将对象转换为xml本回答被提问者采纳
解析xml文件,如何动态的封装成一个java类
要看你的xml文件是什么格式,可以针对某个结构的xml文件封装一个解析类如果不依赖xml文件的格式,只是封装操作xml的方法,这个网上一大堆,用dom4j或jdom都可以 参考技术A 用java反射
以上是关于如何解析这个xml文件里边的字符串,谁解答一下,加高分的主要内容,如果未能解决你的问题,请参考以下文章
dom4j解析xml文件,xml的编码是utf-8,里边的中文解析出来是乱码,怎么解决? 文件用ie打开是正常的。
在dos环境下用c语言如何能够操作XML文件,用啥工具?如何操作