使用Java操作XML和Json:介绍Java操作XML和Json的各种库和工具,通过实例演示它们的用法

csdn推荐

一、Java操作XML

JAXP,全称Java API for XML Processing,是由Sun公司制定的一套用于处理XML的API。JAXP支持文档对象模型(DOM)、简单API(SAX)和扩展样式表语言转换(XSLT)。使用JAXP可以以兼容且独立于任何特定的XML处理器的方式在Java应用中处理XML。

使用JAXP,你可以使用基于树的DOM API或基于事件的SAX API从任何输入源解析XML。你也可以使用JAXP转换API在XML文档和其它文档(如HTML)之间执行转换。

以下是使用JAXP创建、解析、查找和修改XML文件的一个简单示例:

import javax.xml.parsers.*;
import org.w3c.dom.*;
public class JAXPExample {
    public static void main(String[] args) throws Exception {
        // 创建DocumentBuilderFactory对象
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        
        // 创建DocumentBuilder对象
        DocumentBuilder builder = factory.newDocumentBuilder();
        
        // 解析XML文件获取Document对象
        Document document = builder.parse("test.xml");
        
        // 使用Document对象创建、查找和修改XML元素
        Element root = document.getDocumentElement(); // 获取根元素
        NodeList list = root.getElementsByTagName("item"); // 查找元素
        Node node = list.item(0);
        
        if(node != null && node.getNodeType() == Node.ELEMENT_NODE) {
            Element element = (Element) node;
            element.setTextContent("New Content"); // 修改元素内容
        }
        
        // 输出修改后的XML
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer t = tf.newTransformer();
        t.transform(new DOMSource(document), new StreamResult(System.out));
    }
}

在这个例子中,我们首先使用JAXP的DocumentBuilderFactory创建一个DocumentBuilder对象。然后我们使用DocumentBuilder对象解析XML文件获取Document对象。使用Document对象,我们可以创建、查找和修改XML元素。最后,我们使用Transformer对象把修改后的Document对象输出成XML形式。

注意:需要包含以下jar文件在类路径中:dom.jar, sax.jar, jaxp-api.jar, xalan.jar 和 xercesImpl.jar.

JAXB,全名Java Architecture for XML Binding,是一种用于将Java对象与XML数据相互转换的简易框架。它是JavaSE的一部分,用于将XML解析为Java对象,或者将Java对象序列化为XML。

以下是一个简单示例,演示了使用JAXB将Java对象转换为XML以及反向转换的过程:

import javax.xml.bind.*;
public class JAXBExample {
    public static vo

文章来源:https://blog.csdn.net/weixin_37954941/article/details/139102561



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容