一、相关核心方法
- 创建document:DocumentHelper.createDocument
- 字符串转为document:DocumentHelper.parseText
- 添加标签:Element.addElement
- 获取标签:Element.element
- 获取根标签:document.getRootElement
- 设置标签属性:Element.addAttribute
- 获取标签属性:Element.attributeValue
- 设置标签内容:Element.setText
- 获取标签内容:Element.getText
二、生成xml字符串
public static String getXml() {
// 把文件解析成document树
Document document = null;
try {
//创建document对象
document = DocumentHelper.createDocument();
//设置编码
document.setXMLEncoding("UTF-8");
//添加Request标签
Element reqElement = document.addElement("Request");
//xml添加User标签
Element userElement = reqElement.addElement("User");
//xml添加age属性
Element itemElement = userElement.addElement("Item");
itemElement.addAttribute("name", "小明");
itemElement.addAttribute("age", "18");
itemElement.setText("第一个用户");
} catch (
Exception e) {
e.printStackTrace();
}
//转为字符串
String documentStr = document == null ? "" : document.asXML();
return documentStr;
}
结果
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<User>
<Item name="小明" age="18">第一个用户</Item>
</User>
</Request>
三、生成xml字符串
/**
* 解析xml字符串
* @param xmlStr
*/
public static void analyzeXml(String xmlStr) {
List<Map<String, Object>> list = new ArrayList<>();
// 把文件解析成document树
Document document = null;
try {
//将xml字符串转为Document
document = DocumentHelper.parseText(xmlStr);
} catch (DocumentException e) {
e.printStackTrace();
}
//获取根节点
Element result = document.getRootElement();
Element user = result.element("User");
Element item = user.element("Item");
String age = item.attributeValue("age");
String name = item.attributeValue("name");
String value = item.getText();
System.out.println(name + "," + age + "," + value);
}
结果
字符串:
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<User>
<Item name="小明" age="18">第一个用户</Item>
</User>
</Request>
结果:
小明,18,第一个用户