我已经开始学习如何在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);
}
}
}