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();
}
}