java怎么解析xml字符串

31次阅读
没有评论

共计 1710 个字符,预计需要花费 5 分钟才能阅读完成。

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

  1. 使用 DOM 解析器:通过创建一个 DocumentBuilder 对象,可以将 XML 字符串解析为一个 Document 对象,然后可以使用 DOM API 来访问和操作 XML 文档中的元素和属性。
String xmlString = "<root><element>value</element></root>";
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 = "<root><element>value</element></root>";
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 字符串。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-04-22发表,共计1710字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)