Java解析XML简单版
来源:互联网 发布:蔬菜水果配送软件 编辑:程序博客网 时间:2024/04/27 19:47
JAVA 文件
Reader.java
import java.util.List;public class Reader { /** * @author lxh * @param args */ public static void main(String[] args) { try { List<String> list = XmlReader.readXml("dailyreport"); System.out.println(list);//输出列表。 System.out.println(list.get(2));//输出列表内索引为2的值。 } catch (Exception e) { e.printStackTrace(); } }}
XmlReader.java
import java.util.*;import java.io.File;import javax.xml.parsers.*;import org.w3c.dom.*;public class XmlReader { public static List<String> readXml(String nodeName) throws Exception { DocumentBuilder db = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); Document document = db.parse(new File("test.xml"));// 把XML文件解析成DOCUMENT类型 Element root = document.getDocumentElement(); String NodeName=nodeName; //自选XML中的节点名 NodeList list = root.getElementsByTagName(NodeName);// 获得page元素 List<String> list2=showElem(list); return list2; } public static List<String> showElem(NodeList nl) { List<String> list = new ArrayList<String>(); for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i);// 得到父节点 // 子节点 NodeList childList = n.getChildNodes(); for (int x = 0; x < childList.getLength(); x++) { Node childNode = childList.item(x); // 判断取出的值是否属于Element元素,目的是过滤掉 if (childNode instanceof Element) { // 得到子节点的名字 //String childNodeName = childNode.getNodeName(); //System.out.print("节点名:" + childNodeName); // 得到子节点的值 String childNodeValue = childNode.getTextContent(); list.add(childNodeValue); System.out.println("节点值:" + childNodeValue); } } } return list; }}
xml文件
test.xml
<?xml version="1.0" encoding="utf-8"?><test> <project> <code>systemMessage</code> <title>标题:系统消息</title> <content>概要:您 管理的项目已天未派发新任务</content> <sendercode>system</sendercode> <sendername>发送者:系统</sendername> <receivercode>test</receivercode> <receivername>接受者:测试</receivername> <state>状态:已读</state> <desc>内容:您管理的项目已三天未派发新任务,请注意项目进度</desc> <type>类型:systemMessage</type> <sendtime>发送时间:2015-8-17</sendtime> <tocode>回复</tocode> </project> <dailyreport> <code>systemMessage</code> <title>标题:系统消息</title> <content>概要:您 已经三天未填写日报务</content> <sendercode>system</sendercode> <sendername>发送者:系统</sendername> <receivercode>test</receivercode> <receivername>接受者:测试</receivername> <state>状态:已读</state> <desc>内容:您 已经三天未填写日报务,请及时填写</desc> <type>类型:systemMessage</type> <sendtime>发送时间:2015-8-17</sendtime> <tocode>回复</tocode> </dailyreport></test>
输出结果
节点值:systemMessage节点值:标题:系统消息节点值:概要:您 已经三天未填写日报务节点值:system节点值:发送者:系统节点值:test节点值:接受者:测试节点值:状态:已读节点值:内容:您 已经三天未填写日报务节点值:类型:systemMessage节点值:发送时间:2015-8-17节点值:回复[systemMessage, 标题:系统消息, 概要:您 已经三天未填写日报务, system, 发送者:系统, test, 接受者:测试, 状态:已读, 内容:您管理的项目已三天未派发新任务,请注意项目进度, 类型:systemMessage, 发送时间:2015-8-17, 回复]概要:您 已经三天未填写日报务
0 0
- Java解析XML简单版
- java简单解析xml
- JAVA解析XML简单实例
- java简单解析xml之Dom解析
- java简单解析xml之SAX解析
- JAVA jdom解析xml简单用法
- java 解析xml 递归算法 简单实用
- java简单解析XML串中的内容
- Dom4j解析XML简单应用,XStream实现Java、XML转换
- AndroidManifest.xml简单解析
- 简单XML文件解析
- SAX简单解析XML
- XML----XmlPullParserFactory----简单解析
- XML----简单解析
- xml的简单解析
- 简单SAX解析XML
- (二)Java解析XML:一个简单的解析XML文件的例子
- Java解析XML文档(简单实例)——dom解析xml
- DES加密解密
- 剑指Offer——约瑟夫环,0,1,...n-1围成的环,从0开始每次删除第m个,求最后剩余的一个数字
- DownloadProvider 源码详细分析
- 使用webpack,vue文件导入样式文件报错
- 算法_动态规划_二维01背包问题
- Java解析XML简单版
- frame,iframe,frameset用法和区别
- 数据操作
- 使用telnet玩一下http
- An App ID with Identifier 'com.domainName.AppName' is not available. Please enter a different string
- (OpenCV)HOG源码分析
- QT5 OpenGL (六, 键盘事件, 开关灯,放大缩小综合运用)
- 初识NoSQL
- C++第二次实验-类和对象