加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Stax 解析xml文件

发布时间:2020-12-15 23:09:41 所属栏目:百科 来源:网络整理
导读:import java.io.FileNotFoundException; import java.io.FileReader; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; publ

import java.io.FileNotFoundException;
import java.io.FileReader;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;

public class StaxTest {
// 获得解析器
public static XMLStreamReader getStreamReader() {
// String xmlFile = StaxTest.class.getResource("/").getFile()+ "users.xml";
String xmlFile = "c:company.xml";
XMLInputFactory factory = XMLInputFactory.newInstance();
//XMLInputFactory factory = XMLInputFactory.newFactory(); // the all equal
try {
XMLStreamReader reader = factory.createXMLStreamReader(new FileReader(xmlFile));
return reader;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
return null;
}

// 列出所有用户名称
public static void listNames() {
XMLStreamReader reader = StaxTest.getStreamReader();
// 遍历XML文档
try {
while (reader.hasNext()) {
int event = reader.next();
// 如果是元素的开始
if (event == XMLStreamConstants.START_ELEMENT) {
// 列出所有用户名称
if ("user".equalsIgnoreCase(reader.getLocalName())) {
System.out.println("Name:" + reader.getAttributeValue(null,"name"));
}
}
}
reader.close();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}

/**
* @param args
*/
public static void main(String[] args) {
System.out.println("**********Start****************");
StaxTest.listNames();
System.out.println("**********End****************");
}

} 解析的文件:company.xml <?xml version="1.0" encoding="UTF-8"?> <company> <depart title="Develop Group"> <user name="Tom" age="28" gender="male" >Manager</user> <user name="Lily" age="26" gender="female" /> </depart> <depart title="Test Group"> <user name="Frank" age="32" gender="male" >Team Leader</user> <user name="Bob" age="45" gender="male" /> <user name="Kate" age="25" gender="female" /> </depart> </company>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读