如何使用Java解析这个XML?

 xyz HYD ABC MUMBAI  

如何使用Java从此xml文件中获取值。 在我的文件中,我重复了子节点。

那里有很多XML解析器,只需google就可以了。

我非常喜欢JAXB。 只需为XML文件定义XML-Schema文件,然后使用Java工具xjc 。 您可以获得bean,并轻松地将XML文件绑定到对象图。 谷歌是你的朋友:)

也许你可以试试XPath

这是一个基于Java SAX API的简单解决方案

 import java.io.File; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class Main { public static void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); MyHandler myHandler = new MyHandler(); saxParser.parse(new File("g:/temp/x.xml"), myHandler); for(Pair p : myHandler.result) { System.out.println(pa + ":" + pb); } } public static final class Pair { public final String a; public final String b; public Pair(String a, String b) { this.a = a; this.b = b; } } public static class MyHandler extends DefaultHandler { public final List result = new ArrayList(); private StringBuilder sb = new StringBuilder(); @Override public void endElement(String uri, String localName, String qName) throws SAXException { String s = sb.toString().trim(); if(s.length() > 0) result.add(new Pair(qName, s)); sb = new StringBuilder(); } @Override public void characters(char[] ch, int start, int length) throws SAXException { sb.append(ch, start, length); } } } 

Jdom也是这项工作的一个很好的候选人

如果您的格式非常简单,您可以使用readLine()/ split / Scanner。 但是,许多标准XML解析器中的一个是更安全的选择。