java怎么解析xml字符串

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用以下方法来解析XML字符串:

  1. 使用DOM解析器:通过创建一个DocumentBuilder对象,可以将XML字符串解析为一个Document对象,然后可以使用DOM API来访问和操作XML文档中的元素和属性。
String xmlString = "value"; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); InputSource is = new InputSource(new StringReader(xmlString)); Document document = builder.parse(is);  Element root = document.getDocumentElement(); String elementValue = root.getElementsByTagName("element").item(0).getTextContent(); System.out.println(elementValue); 
  1. 使用SAX解析器:SAX解析器是基于事件的解析器,通过实现ContentHandler接口可以处理XML文档中的各种事件,如开始元素、结束元素、字符数据等。
String xmlString = "value"; SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();  DefaultHandler handler = new DefaultHandler() {     boolean elementFlag = false;      public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {         if (qName.equals("element")) {             elementFlag = true;         }     }      public void characters(char[] ch, int start, int length) throws SAXException {         if (elementFlag) {             System.out.println(new String(ch, start, length));             elementFlag = false;         }     } };  parser.parse(new InputSource(new StringReader(xmlString)), handler); 
  1. 使用JAXB解析器:JAXB是Java Architecture for XML Binding的缩写,可以将XML文档映射为Java对象,并通过注解来指定映射规则。
@XmlRootElement public class Root {     @XmlElement     private String element;          public String getElement() {         return element;     }          public void setElement(String element) {         this.element = element;     } }  JAXBContext context = JAXBContext.newInstance(Root.class); Unmarshaller unmarshaller = context.createUnmarshaller(); Root root = (Root) unmarshaller.unmarshal(new StringReader(xmlString));  System.out.println(root.getElement()); 

以上是三种常用的XML解析方法,可以根据具体需求选择适合的方法来解析XML字符串。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!