XML封装与验证消息

Document document = DocumentHelper.createDocument();
document.setXMLEncoding(ChARSET_UTF_8);

Element root = document.addElement("message");
Element head = root.addElement("head");

head.addElement("field").addAttribute("name"," ").setText("");

Element body = root.addElement("body");
body.addElement("field").addAttribute("name","").setText("");

return document.asXML();

一般用于封装消息 发送XML通知等。

用于判断XML中的元素:

Document document = DocumentHelper.parseText(input);
Element root = document.getRootElement();

Element headElement = root.element("head");
Preconditions.checkArgument(headElement != null,"XML中无head元素");
setData(dataMap,bodyElement);

Element bodyElement = root.element("body");
Preconditions.checkArgument(bodyElement != null,"XML中无body元素;
setData(dataMap,BodyElement);


public void setData(Map<String,Object> dataMap,Element parentElement){

    List<Element> fieldElements = parentElement.elements("field");
    Preconditions.checkArgument((fieldElements != null &&     fieldElements.isEmpty()),"XML缺少field元素");
    
    for(Element fieldElement : fieldElements){
        String name = fieldElement.attributeValue("name");
        String value = StringUtils.trimToNull(fieldElement.getTextTrim()):
        dataMap.put(name,value);
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

springboot2自定义statsd指标前缀

springboot2引入了micrometer,1.x版本的spring.metrics.export.statsd.prefix在2版本中已经被标记为废弃,...

15220
来自专栏吴生的专栏

spring boot 源码解析-SpringApplication初始化

就是这么简单的代码,构成了spring boot的世界. 那么代码中只有⼀个@SpringBootApplication 注解 和 调⽤了SpringAppli...

46350
来自专栏算法修养

HYSBZ 3676 回文串 (回文树)

3676: [Apio2014]回文串 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1680  Solve...

36370
来自专栏Android知识点总结

Java总结IO之总集篇

字符流和字节流向来各行其事,很少有交集。 但Reader和Writer有两个奇子,名叫InputStreamReader(男)和OutputStreamWri...

14550
来自专栏desperate633

LeetCode Fizz Buzz题目分析代码

Write a program that outputs the string representation of numbers from 1 to n.

8810
来自专栏图形学与OpenGL

WebGL三角形旋转变换

29310
来自专栏个人分享

Socket与Http方式解析发送xml消息封装中间件jar包

  最近项目代码中太多重复的编写Document,不同的接口需要不同的模板,于是重写提取公共部分打成jar包,方便各个系统统一使用~

16930
来自专栏小樱的经验随笔

POJ 2492 A Bug's Life

A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions:...

293100
来自专栏技术专栏

java程序 如何优雅地读取xml文件

1.3K20
来自专栏码匠的流水账

聊聊sentinel的ModifyRulesCommandHandler

本文主要研究一下sentinel的ModifyRulesCommandHandler

13210

扫码关注云+社区

领取腾讯云代金券