您的位置:首页 > 其它

dom解析xml

2011-10-24 11:34 204 查看
dom 解析 xml文件流

dom xml

public class DomParse {

public List DomParse(String str) {

List list  = new ArrayList();
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
//            InputStream is = new FileInputStream("bin/library.xml");
InputStream is =  new ByteArrayInputStream(str.getBytes());
Document doc = dombuilder.parse(is);
Element root = doc.getDocumentElement();
NodeList tasklist = root.getChildNodes();
if (tasklist != null) {
for (int i = 0; i < tasklist.getLength(); i++) {
Node item = tasklist.item(i);
if (item.getNodeType() == Node.ELEMENT_NODE) {
String bean = item.getAttributes().getNamedItem(
"type").getNodeValue();
System.out.println(bean);

Tasklist task = new Tasklist();

for (Node node = item.getFirstChild(); node != null; node = node
.getNextSibling()) {

if (node.getNodeType() == Node.ELEMENT_NODE) {
if (node.getNodeName().equals("activity")) {
String activity = node.getFirstChild()
.getNodeValue();
task.setActivity(activity);
System.out.println(activity);
}
if (node.getNodeName().equals("assignedToRole")) {
String assignedToRole = node.getFirstChild()
.getNodeValue();
task.setActivity(assignedToRole);
}
if (node.getNodeName().equals("assignedToUser")) {
String assignedToUser = node.getFirstChild()
.getNodeValue();
task.setAssignedToUser(assignedToUser);
}
if (node.getNodeName().equals("closedBy")) {
String closedBy = node.getFirstChild()
.getNodeValue();
task.setClosedBy(closedBy);
}
if (node.getNodeName().equals("dueDate")) {
String dueDate = node.getFirstChild()
.getNodeValue();
task.setDueDate(dueDate);
}
if (node.getNodeName().equals("taskID")) {
String taskID = node.getFirstChild()
.getNodeValue();
task.setTaskID(taskID);
}
if (node.getNodeName().equals("receivedDate")) {
String receivedDate = node.getFirstChild()
.getNodeValue();
task.setReceivedDate(receivedDate);
}
if (node.getNodeName().equals("taskStatus")) {
String taskStatus = node.getFirstChild()
.getNodeValue();
task.setTaskStatus(taskStatus);
}
if (node.getNodeName().equals("subject")) {
String subject = node.getFirstChild()
.getNodeValue();
task.setSubject(subject);
}
if (node.getNodeName().equals("processName")) {
String processName = node.getFirstChild()
.getNodeValue();
task.setProcessName(processName);
}
if (node.getNodeName().equals("processInstanceID")) {
String processInstanceID = node.getFirstChild()
.getNodeValue();
task.setProcessInstanceID(processInstanceID);
}
if (node.getNodeName().equals("processInstanceStatus")) {
String processInstanceStatus = node.getFirstChild()
.getNodeValue();
task.setProcessInstanceStatus(processInstanceStatus);
}

}
}
list.add(task);
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

return list;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: