java下string与html、xml互转操作

添加的pom.xml

<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.11.3</version>
</dependency>

<dependency>
	<groupId>org.dom4j</groupId>
	<artifactId>dom4j</artifactId>
	<version>2.1.3</version>
</dependency>

string和html互转操作

    public static String html2str(){
    
       String htmlStr = "<div sb_id=\"001\"><input type=\"text\"servyou_type=\"string\"id=\"001_58_1\"><input type=\"text\"servyou_type=\"string\"class=\"sssqq\"></div>";
       	//字符串转html
        final Document document = Jsoup.parse(html);

        //根据id 获取节点 修改值
		document.getElementById("001_58_1").val("1111").attr("title","1111");
		
		//根据class 获取节点
		document.getElementsByClass("sssqq").val("22222").attr("title","22222");

		//根据属性 获取节点
        document.getElementsByAttributeValue("sb_id","001").attr("sb_title","测试属性获取值");
        Element body = document.body();
        
        //html转字符串
        System.out.println(body.toString());
    }

string和xml 互转操作

public static void xml2str(){
        String xml = "<sites><site><name>RUNOOB</name><url>www.runoob.com</url></site><site><name>Google</name><url>www.google.com</url></site><site><name>Facebook</name><url>www.facebook.com</url></site></sites>";
        //string  转 xml
        org.dom4j.Document xmlDocument = org.dom4j.DocumentHelper.parseText(xml);
        if(xmlDocument!=null){
            //获取根节点
            org.dom4j.Element rootElement = xmlDocument.getRootElement();

            //获取根节点下所有 内容
            List<Node> content = rootElement.content();
            //获取节点 并赋值
            org.dom4j.Element node = (org.dom4j.Element)content.get(0);
            node.element("name").setText("测试");
            node.element("url").setText("测试url");
            //xml转string   打印
            System.out.println(rootElement.asXML());  //这种方式如果值为空,xml标签不会闭合(<name></name>会显示成</name>)
            System.out.println(asXML(rootElement));  //解决空值xml标签不会闭合问题
        }
}

解决值为空 标签不闭合问题


// 转换为标准格式(避免自闭合的问题)
    private static String asXml(Element body) {
        OutputFormat format = new OutputFormat();
        format.setEncoding("UTF-8");
        format.setExpandEmptyElements(true);
        StringWriter out = new StringWriter();
        XMLWriter writer = new XMLWriter(out, format);
        try {
            writer.write(body);
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return out.toString();
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

1687F

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

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

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

打赏作者

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

抵扣说明:

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

余额充值