JAVA xml转dom_使用Java中的dom解析器将xml文件转换为json对象

小编典典

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author nikunj.m

*/

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

import org.w3c.dom.Document;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

public class xmlTojsonDom1 {

public static void main(String[] args) {

try {

File file = new File("D:/Noname1.xml");

DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

Document doc = dBuilder.parse(file);

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

if (doc.hasChildNodes()) {

JSONArray ddd = printNote_1(doc.getChildNodes());

System.out.println("ddd ::::: " + ddd);

}

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

private static JSONArray printNote_1(NodeList nodeList) {

JSONArray dataArr = new JSONArray();

JSONObject dataObject = new JSONObject();

for (int count = 0; count < nodeList.getLength(); count++) {

Node tempNode = nodeList.item(count);

if (tempNode.getNodeType() == Node.ELEMENT_NODE) {

if (tempNode.hasChildNodes() && tempNode.getChildNodes().getLength() > 1) {

JSONArray temArr = printNote_1(tempNode.getChildNodes());

if (dataObject.containsKey(tempNode.getNodeName())) {

dataObject.getJSONArray(tempNode.getNodeName()).add(temArr.getJSONObject(0));

} else {

dataObject.put(tempNode.getNodeName(), temArr);

}

} else {

dataObject.put(tempNode.getNodeName(), tempNode.getTextContent());

}

}

}

dataArr.add(dataObject);

return dataArr;

}

}

2020-12-03

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值