java读取XML文件

<?xmlversion="1.0"encoding="UTF-8"?><ShowList><Movie><Name>非常完美</Name><Poster>perfect... <?xml version="1.0" encoding="UTF-8"?>
<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%完整。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式