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

一、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
  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎 你看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值