C#读取XML流数据
2015-07-30 16:39
507 查看
C#读取XML流数据,使用dom方式(还有一个sax方式),当然啦 方法是转存在这里
public void parseXML(String s){
if (s != null && s.length() > 0) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
try {
StringReader rd = new StringReader(s);
InputSource in = new InputSource(rd);
document = db.parse(in);
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (SAXException saxe) {
saxe.printStackTrace();
}
Element root = document.getDocumentElement();
//
得到
message
的属性
Attr attMessageType = root.getAttributeNode("type");
messageType = attMessageType.getValue();
//
得到
message
下的所有节点
NodeList nl = document.getElementsByTagName("message");
Element link = (Element)nl.item(0);
//
得到各个子节点的值
timeStamp = link.getElementsByTagName("timestamp").item(0).
getFirstChild().getNodeValue();
node = link.getElementsByTagName(
"node").item(0).getFirstChild().
getNodeValue();
source = link.getElementsByTagName("source").item(0).getFirstChild().
getNodeValue();
statusClass = link.getElementsByTagName("statusclass").item(0).
getFirstChild().getNodeValue();
status = link.getElementsByTagName("status").item(0).getFirstChild().
getNodeValue();
}
}
public void parseXML(String s){
if (s != null && s.length() > 0) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
try {
StringReader rd = new StringReader(s);
InputSource in = new InputSource(rd);
document = db.parse(in);
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (SAXException saxe) {
saxe.printStackTrace();
}
Element root = document.getDocumentElement();
//
得到
message
的属性
Attr attMessageType = root.getAttributeNode("type");
messageType = attMessageType.getValue();
//
得到
message
下的所有节点
NodeList nl = document.getElementsByTagName("message");
Element link = (Element)nl.item(0);
//
得到各个子节点的值
timeStamp = link.getElementsByTagName("timestamp").item(0).
getFirstChild().getNodeValue();
node = link.getElementsByTagName(
"node").item(0).getFirstChild().
getNodeValue();
source = link.getElementsByTagName("source").item(0).getFirstChild().
getNodeValue();
statusClass = link.getElementsByTagName("statusclass").item(0).
getFirstChild().getNodeValue();
status = link.getElementsByTagName("status").item(0).getFirstChild().
getNodeValue();
}
}
相关文章推荐
- c#调用COM组件
- XML 与 JSON 优劣对比
- As3.0 xml + Loader应用代码
- C#实现把指定数据写入串口
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- C#实现多线程的同步方法实例分析
- ext读取两种结构的xml的代码
- C#中尾递归的使用、优化及编译器优化
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例