StAX Parser(parser.next)?

时间:2016-02-26 12:46:57

标签: java xml xml-parsing

我已经开始学习如何在JAVA中操作XML文件。 我尝试过一个基本的StAX解析器,并且我已经使用了parser.next()。 为什么parser.next()?原因是我无法从方法parser.next()返回值。连接打开,当你将parser.next()方法放到基本输出中进行测试时,它不会返回任何内容,甚至是0.所以,你能帮助解决这个问题。之前我一直在寻找解决方案,但我没有找到任何有用的东西。提前致谢。 示例代码:

public static void main(String[] args) throws Exception{
    String urlString = "";
    if(args.length == 0)
    {
        urlString = "http://www.w3c.org";
        System.out.println("Using: " + urlString);
    }
    else urlString = args[0];
    URL url = new URL(urlString);
    InputStream in = url.openStream();
    XMLInputFactory factory = XMLInputFactory.newInstance();
    XMLStreamReader parser = factory.createXMLStreamReader(new InputStreamReader(in));
    while(parser.hasNext()){
        //System.out.println("test");
        int event = parser.next();
        System.out.println(parser.next() + "");
        if(event == XMLStreamConstants.START_ELEMENT)
            if(parser.getLocalName().equalsIgnoreCase("a"))
            {
                String href = parser.getAttributeValue(null, "href");
                if(href != null) System.out.println(href);
            }
    }
}

0 个答案:

没有答案