📄 xmlparser.java
字号:
package jxtamessenger.xml;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.logging.Logger;
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class XmlParser {
private static final Logger LOG = Logger.getLogger(XmlParser.class.getName());
@SuppressWarnings("unchecked")
public static Object getObject(String xml) {
Object o = null;
try {
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
try {
Class c = ClassUtils.getClass(root.attributeValue("class"));
o = c.newInstance();
for (Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
Method method = c.getDeclaredMethod("set" + StringUtils.capitalize(element.getName()), new Class[] {String.class});
method.invoke(o, element.getText());
}
return o;
} catch (Exception e) {
LOG.warning("Class initialize failed!");
e.printStackTrace();
return null;
}
} catch (DocumentException e) {
LOG.warning("getOnlineMsg() failed");
e.printStackTrace();
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -