Fixed XmlTransferMapUtils.

pull/235/head
ruibaby 2019-07-09 15:46:38 +08:00
parent 4b0b9d5245
commit c52e295f9a
1 changed files with 105 additions and 101 deletions

View File

@ -1,22 +1,28 @@
package xyz.guqing.transfer.processor; package run.halo.app.utils;
import org.dom4j.Document; import org.dom4j.Document;
import org.dom4j.Element; import org.dom4j.Element;
import org.dom4j.io.SAXReader; import org.dom4j.io.SAXReader;
import java.io.*; import java.io.File;
import java.io.FileInputStream;
import java.util.*; import java.util.*;
/** /**
* wordpressxmlMap * WordPress xml Map
* @uthor guqing *
* @author guqing
*/ */
public class TransferMapProcessor { public class XmlTransferMapUtils {
// 存储在此集合中的节点名称都会被解析为一个List存储
private static final List<String> ARRAY_PROPERTY = Arrays.asList(new String[]{"channel", "item", "category", "postmeta", "comment"}); /**
* List
*/
private static final List<String> ARRAY_PROPERTY = Arrays.asList("channel", "item", "category", "postmeta", "comment");
/** /**
* xml xml rootElement * xml xml rootElement
*
* @param file xml * @param file xml
* @return * @return
*/ */
@ -25,9 +31,7 @@ public class TransferMapProcessor {
SAXReader saxReader = new SAXReader(); SAXReader saxReader = new SAXReader();
FileInputStream fileInputStream = new FileInputStream(file); FileInputStream fileInputStream = new FileInputStream(file);
Document document = saxReader.read(fileInputStream); Document document = saxReader.read(fileInputStream);
Element rootElement = document.getRootElement(); return document.getRootElement();
return rootElement;
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("can not get root element"); throw new RuntimeException("can not get root element");
} }
@ -36,12 +40,12 @@ public class TransferMapProcessor {
/** /**
* Map * Map
*
* @param root xml * @param root xml
* @return xmlMap * @return xmlMap
*/ */
public Map<String, Object> getResultSetMapping(Element root) { public Map<String, Object> getResultSetMapping(Element root) {
Map<String, Object> result = new HashMap<String, Object>(); Map<String, Object> result;
try { try {
// 获取根元素的所有子元素 // 获取根元素的所有子元素
List<Element> children = root.elements(); List<Element> children = root.elements();
@ -57,6 +61,7 @@ public class TransferMapProcessor {
/** /**
* xmlN * xmlN
*
* @param elements * @param elements
* @param list * @param list
* @return Map * @return Map
@ -78,7 +83,7 @@ public class TransferMapProcessor {
//如果存在,合并 //如果存在,合并
if (object != null) { if (object != null) {
List<Map<String, Object>> olist = (List<Map<String, Object>>) object; List<Map<String, Object>> olist = (List<Map<String, Object>>) object;
olist.add(subMap);// olist.add(subMap);
map.put(name, olist); map.put(name, olist);
} else { } else {
//否则直接存入map //否则直接存入map
@ -94,7 +99,6 @@ public class TransferMapProcessor {
if (list != null) { if (list != null) {
list.add(map); list.add(map);
} }
//返回结果集合 //返回结果集合
return map; return map;
} }