java读取XML文件
<ShowList> <Movie> <Name>非常完美</Name> <Poster>perfect</Poster> <Director>阴萌</Director> <Actor>范冰冰</Actor> <Type>Romance</Type> <Price>60</Price> <Schedule> <Item>09:00</Item> <Item>13:00</Item> </Schedule> </Movie> <Movie> <Name>星球大战</Name> <Poster>perfect</Poster> <Director>阴萌</Director> <Actor>范冰冰</Actor> <Type>Romance</Type> <Price>60</Price> <Schedule> <Item>11:00</Item> <Item>16:00</Item> </Schedule> </Movie></ShowList>
输入出结为: 非常完美 perfect 阴萌 范冰冰 Romance 60 09:00 非常完美 perfect 阴萌 范冰冰 Romance 60 13:00 星球大战 perfect 阴萌 范冰冰 Romance 60 11:00 星球大战 perfect 阴萌 范冰冰 Romance 60 16:00
用纯java实现,谢谢 展开
2013-12-31
ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("utf-8"));
SAXReader xmlReader = new SAXReader();
Document document = xmlReader.read(in);
Element root = document.getRootElement();
XPath x = document.createXPath("//ShowList/Movie");
List<Element> elements = (List<Element>)x.selectNodes(document);
for(Element el:elements){
String s= el.elementText("Name")
+"\t"+el.elementText("Poster")
+"\t"+el.elementText("Director")
+"\t"+el.elementText("Actor")
+"\t"+el.elementText("Type")
+"\t"+el.elementText("Price")
+"\t"+el.elementText("Type")
;
List<Element> schedules = (List<Element>)el.element("Schedule").elements("Item");
for(Element el2:schedules){
System.out.println(" "+s+"\t"+el2.getText());
}
}
dom4j-1.6.1.jar
jaxen-1.1.1.jar
运行结果
非常完美 perfect 阴萌 范冰冰 Romance 60 Romance 09:00
非常完美 perfect 阴萌 范冰冰 Romance 60 Romance 13:00
星球大战 perfect 阴萌 范冰冰 Romance 60 Romance 11:00
星球大战 perfect 阴萌 范冰冰 Romance 60 Romance 16:00
D:\java>
怎么使用,要完整的java代码,谢谢
剩下的,自己补充。
代码已经挺完整,套上主函数、类定义,即是100%完整。