OA的浏览按钮数据展示的数据必须要组装成XML格式,设置的地方如下图:
示例XML格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<root type="object">
<value type="array">
<item type="object">
<aa type="string">123</aa>
</item>
<item type="object">
<bb type="string">456</bb>
</item>
</value>
</root>
示例代码如下:
// JSON转换为OA要的xml格式
public static String createERPData(JSONObject object) {
Document document = DocumentHelper.createDocument();
// 根节点
Element rootElement = document.addElement("root");
rootElement.addAttribute("type", "object");
// 数据根节点
Element valueElement = rootElement.addElement("value");
valueElement.addAttribute("type", "array");
// 组装array内的item节点数组
JSONArray array = object.getJSONArray("value");
for (int i = 0, size = array.size(); i < size; i++) {
JSONObject tempObject = array.getJSONObject(i);
Element itemElement = valueElement.addElement("item");
itemElement.addAttribute("type", "object");
// 组装data
Set<Map.Entry<String, Object>> entries = tempObject.entrySet();
for (Map.Entry<String, Object> entry : entries) {
String key = entry.getKey();
Object value = entry.getValue();
Element dataElement = itemElement.addElement(key);
dataElement.addAttribute("type", "string");
dataElement.addText(value+"");
}
}
return document.asXML().toString();
}