当前位置: 首页 > news >正文

北京做兼职的网站vivo即将发布的新手机

北京做兼职的网站,vivo即将发布的新手机,怎么制作视频短片加字幕带说话,wechat网页版登陆前言 本文只介绍使用 dom4j 以及fastjson的 方式&#xff0c; 因为平日使用比较多。老的那个json也能转&#xff0c;而且还封装好了XML&#xff0c;但是本文不做介绍。 正文 ①加入 pom 依赖 <dependency><groupId>dom4j</groupId><artifactId>dom4j…

前言


本文只介绍使用  dom4j 以及fastjson的 方式, 因为平日使用比较多。老的那个json也能转,而且还封装好了XML,但是本文不做介绍。

正文

①加入  pom 依赖

        <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency>

② 工具类  MyXmlUtil.java

import com.alibaba.fastjson.JSONArray;
import org.dom4j.*;
import org.springframework.util.StringUtils;
import java.util.List;/*** @Author: JCccc* @Date: 2022-6-15 16:53* @Description:*/
public class MyXmlUtil {public static void main(String[] args) throws DocumentException {String xmlStr="<dependency>\n" +"            <groupId>org.json</groupId>\n" +"            <artifactId>json</artifactId>\n" +"            <version>20180813</version>\n" +"        </dependency>";String xmlStrNew="<configuration>\n" +"    <settings>\n" +"        <setting name=\"useGeneratedKeys\" value=\"true\"/>\n" +"        <setting name=\"useColumnLabel\" value=\"true\"/>\n" +"        <setting name=\"mapUnderscoreToCamelCase\" value=\"true\"/>\n" +"        <setting name=\"logImpl\" value=\"STDOUT_LOGGING\"/>\n" +"    </settings>\n"+"</configuration>";if (StringUtils.hasLength(xmlStr)) {com.alibaba.fastjson.JSONObject jsonObject2 = MyXmlUtil.documentToJSONObject(xmlStr);System.out.println(jsonObject2);}if (StringUtils.hasLength(xmlStrNew)) {com.alibaba.fastjson.JSONObject jsonObject2 = MyXmlUtil.documentToJSONObject(xmlStrNew);System.out.println(jsonObject2);}}/*** org.dom4j.Document 转  com.alibaba.fastjson.JSONObject** @param xml* @return* @throws DocumentException*/public static com.alibaba.fastjson.JSONObject documentToJSONObject(String xml) throws DocumentException {//加上xml标签是为了获取最外层的标签,如果不需要可以去掉Document document = DocumentHelper.parseText("<xml>" + xml + "</xml>");return elementToJSONObject(document.getRootElement());}/*** org.dom4j.Element 转  com.alibaba.fastjson.JSONObject** @param node* @return*/public static com.alibaba.fastjson.JSONObject elementToJSONObject(Element node) {com.alibaba.fastjson.JSONObject result = new com.alibaba.fastjson.JSONObject();// 当前节点的名称、文本内容和属性// 当前节点的所有属性的listList<Attribute> listAttr = node.attributes();// 遍历当前节点的所有属性for (Attribute attr : listAttr) {result.put(attr.getName(), attr.getValue());}// 递归遍历当前节点所有的子节点// 所有一级子节点的listList<Element> listElement = node.elements();if (!listElement.isEmpty()) {// 遍历所有一级子节点for (Element e : listElement) {// 判断一级节点是否有属性和子节点if (e.attributes().isEmpty() && e.elements().isEmpty()) {// 沒有则将当前节点作为上级节点的属性对待result.put(e.getName(), e.getTextTrim());} else {if (!result.containsKey(e.getName())) {// 判断父节点是否存在该一级节点名称的属性// 没有则创建result.put(e.getName(), new JSONArray());}// 将该一级节点放入该节点名称的属性对应的值中((JSONArray) result.get(e.getName())).add(elementToJSONObject(e));}}}return result;}}

运行一下main方法 ,看看效果:
 

    public static void main(String[] args) throws DocumentException {String xmlStr="<dependency>\n" +"            <groupId>org.json</groupId>\n" +"            <artifactId>json</artifactId>\n" +"            <version>20180813</version>\n" +"        </dependency>";String xmlStrNew="<configuration>\n" +"    <settings>\n" +"        <setting name=\"useGeneratedKeys\" value=\"true\"/>\n" +"        <setting name=\"useColumnLabel\" value=\"true\"/>\n" +"        <setting name=\"mapUnderscoreToCamelCase\" value=\"true\"/>\n" +"        <setting name=\"logImpl\" value=\"STDOUT_LOGGING\"/>\n" +"    </settings>\n"+"</configuration>";if (StringUtils.hasLength(xmlStr)) {com.alibaba.fastjson.JSONObject jsonObject2 = MyXmlUtil.documentToJSONObject(xmlStr);System.out.println(jsonObject2);}if (StringUtils.hasLength(xmlStrNew)) {com.alibaba.fastjson.JSONObject jsonObject2 = MyXmlUtil.documentToJSONObject(xmlStrNew);System.out.println(jsonObject2);}}

效果:
 

{"dependency":[{"groupId":"org.json","artifactId":"json","version":"20180813"}]}

{

    "configuration": [

        {

            "settings": [

                {

                    "setting": [

                        {

                            "name": "useGeneratedKeys",

                            "value": "true"

                        },

                        {

                            "name": "useColumnLabel",

                            "value": "true"

                        },

                        {

                            "name": "mapUnderscoreToCamelCase",

                            "value": "true"

                        },

                        {

                            "name": "logImpl",

                            "value": "STDOUT_LOGGING"

                        }

                    ]

                }

            ]

        }

    ]

}

好了,该篇就到这。 

http://www.yayakq.cn/news/801691/

相关文章:

  • 如何制作网站专题站酷网站
  • 做网站站长先把作息和身体搞好大学生创意app点子
  • 淘宝怎么发布网站建设网站建设倒计时模板
  • 免费行情网站大全下载软件开发行业市场分析
  • 做电商要不要公司网站网站备案的规划方案
  • 高校档案室网站建设网站建设需求信息
  • 网站建设服务公司连云港网站建设开发
  • 江西住房城乡建设网站单位的网站建设费如何核算
  • 上海平台网站建设公司小程序制作收款
  • 关于网站优化的文章网页美工设计师
  • 河北城乡建设厅网站开发购物网站社交的软件公司
  • 建立旅游公司网站多钱做普通网站公司
  • python做网站的优势个人如何注册公司代理
  • 三航奔腾建设有限公司官方网站创建网站的流程有哪些
  • 宁夏建设工程质量监督站网站素马杭州网站设计介绍
  • 海纳网站建设twitter wordpress
  • 嘉定网站建设哪家便宜第一次做网站没头绪
  • 汉中城乡建设网站企业网站的推广方式和手段有哪些
  • 网站广告设计使用tag的网站
  • 设计社交网站介绍自己做的网站的论文
  • 怎么做监控直播网站网站改版流程
  • 中国诚信建设网站成都网站建设公司司
  • php企业网站后台管理系统ssp网站怎么做
  • 山东网站制作公司排名怎么做支付网站
  • 网站价格网页制作新闻类网站怎么做seo
  • 网站做零售视频制作专业软件
  • 东莞市网站建设分站企业wdcp 默认网站
  • 外贸网站如何做推广是什么做母婴网站设计思路
  • 电子商务网站开发价格中国防疫政策马上要变化了
  • 网站开发模板代码摄影设计工作室