StringBuffer str = new StringBuffer();
str.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
.append("<Request xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"Request.xsd\">")
.append("<Header><RequestApp Name=\"AppName\"/></Header>")
.append("<Body><Data>")
.append("<Cell Name=\"edDeptID\" Value=\"2\" Annotation=\"部门ID\" DataType=\"int\"/>")
.append("<Cell Name=\"ou\" Value=\"11\" Annotation=\"组织机构代码\" DataType=\"string\"/>")
.append("<Cell Name=\"edUnitCode\" Value=\"21\" Annotation=\"单位编码\" DataType=\"int\"/>")
.append("<Cell Name=\"edName\" Value=\"31\" Annotation=\"部门全称\" DataType=\"string\"/>")
.append("<Cell Name=\"edDisplayName\" Value=\"41\" Annotation=\"部门简称\" DataType=\"string\"/>")
.append("<Cell Name=\"edMail\" Value=\"\" Annotation=\"电子邮件\" DataType=\"string\"/>")
.append("<Cell Name=\"postalAddress\" Value=\"\" Annotation=\"通讯地址\" DataType=\"string\"/>")
.append("<Cell Name=\"postalCode\" Value=\"71\" Annotation=\"邮政编码\" DataType=\"string\"/>")
.append("<Cell Name=\"telephoneNumber\" Value=\"81\" Annotation=\"部门办公电话\" DataType=\"string\"/>")
.append("<Cell Name=\"facsimileTelephoneNumber\" Value=\"9\" Annotation=\"部门传真号码\" DataType=\"string\"/>")
.append("<Cell Name=\"edOrder\" Value=\"1\" Annotation=\"排序号\" DataType=\"int\"/>")
.append("<Cell Name=\"edSuperDepartment\" Value=\"111\" Annotation=\"上级部门ID\" DataType=\"int\"/>")
.append("<Cell Name=\"edIsLeaf\" Value=\"1\" Annotation=\"是否页节点\" DataType=\"string\"/>")
.append("<Cell Name=\"edRemark\" Value=\"1\" Annotation=\"备注\" DataType=\"string\"/>")
.append("<Cell Name=\"edStatus\" Value=\"1\" Annotation=\"状态\" DataType=\"int\"/>")
.append("</Data><Data>")
.append("<Cell Name=\"edDeptID\" Value=\"1\" Annotation=\"部门ID\" DataType=\"int\"/>")
.append("<Cell Name=\"ou\" Value=\"1\" Annotation=\"组织机构代码\" DataType=\"string\"/>")
.append("<Cell Name=\"edUnitCode\" Value=\"1\" Annotation=\"单位编码\" DataType=\"int\"/>")
.append("<Cell Name=\"edName\" Value=\"1\" Annotation=\"部门全称\" DataType=\"string\"/>")
.append("<Cell Name=\"edDisplayName\" Value=\"1\" Annotation=\"部门简称\" DataType=\"string\"/>")
.append("<Cell Name=\"edMail\" Value=\"1\" Annotation=\"电子邮件\" DataType=\"string\"/>")
.append("<Cell Name=\"postalAddress\" Value=\"1\" Annotation=\"通讯地址\" DataType=\"string\"/>")
.append("<Cell Name=\"postalCode\" Value=\"1\" Annotation=\"邮政编码\" DataType=\"string\"/>")
.append("<Cell Name=\"telephoneNumber\" Value=\"1\" Annotation=\"部门办公电话\" DataType=\"string\"/>")
.append("<Cell Name=\"facsimileTelephoneNumber\" Value=\"1\" Annotation=\"部门传真号码\" DataType=\"string\"/>")
.append("<Cell Name=\"edOrder\" Value=\"1\" Annotation=\"排序号\" DataType=\"int\"/>")
.append("<Cell Name=\"edSuperDepartment\" Value=\"1\" Annotation=\"上级部门ID\" DataType=\"int\"/>")
.append("<Cell Name=\"edIsLeaf\" Value=\"\" Annotation=\"是否页节点\" DataType=\"string\"/>")
.append("<Cell Name=\"edRemark\" Value=\"1\" Annotation=\"备注\" DataType=\"string\"/>")
.append("<Cell Name=\"edStatus\" Value=\"1\" Annotation=\"状态\" DataType=\"int\"/>")
.append("</Data></Body></Request>");
以上是xml文件
下面是具体实现解析xml
package WebService;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.srit.entity.local.SysOrganEntity;
/**
* 解析组织机构xml
* @author LP
*
*/
public class OrgganGetInfoFromXml {
/**
* 解析组织机构xml
* @param deptXML xml格式的字符串
* @return 组织结构数据集
*/
public static List<SysOrganEntity> getSysOrggans(String deptXML){
SAXReader saxReader = new SAXReader();
Document document = null;
try{
document = saxReader.read(new StringReader(deptXML));
}catch(DocumentException e){
e.printStackTrace();
return null;
}
Element root = document.getRootElement();
List<SysOrganEntity> list = new ArrayList();
// 获取组织结构组
List orgganNodes = root.selectNodes("/Request/Body/Data");
for (Iterator i = orgganNodes.iterator(); i.hasNext();) {
Element Datas = (Element) i.next();
List cells = Datas.selectNodes("Cell");
SysOrganEntity orggan = new SysOrganEntity();
for (Iterator c = cells.iterator(); c.hasNext();)
{
Element cell = (Element) c.next();
if(cell.attributeValue("Name").equals("edDeptID"))
{
//部门ID
if(!"".equals(cell.attributeValue("Value"))&& cell.attributeValue("Value") != null)
orggan.setOrg_id(Integer.valueOf(cell.attributeValue("Value")));
}else if(cell.attributeValue("Name").equals("ou"))
{
//组织机构代码
orggan.setOrg_code(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("edName"))
{
//部门全称
orggan.setOrg_name(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("edSuperDepartment"))
{
//上级组织机构编号
orggan.setSuper_org_id(Integer.valueOf(cell.attributeValue("Value")));
}else if(cell.attributeValue("Name").equals("edDisplayName"))
{
//部门简称
orggan.setOrg_short_name(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("edStatus"))
{
//状态
if(!"".equals(cell.attributeValue("Value"))&& cell.attributeValue("Value") != null)
orggan.setStatus(Integer.valueOf(cell.attributeValue("Value")));
}else if(cell.attributeValue("Name").equals("edOrder"))
{
//排序号
if(!"".equals(cell.attributeValue("Value"))&& cell.attributeValue("Value") != null)
orggan.setDisplay_serial(Integer.valueOf(cell.attributeValue("Value")));
}else if(cell.attributeValue("Name").equals("edMail"))
{
//电子邮件
orggan.setEmail_address(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("postalAddress"))
{
//联系地址
orggan.setContact_address(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("postalCode"))
{
//邮政编码
orggan.setPost_code(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("telephoneNumber"))
{
//联系电话
orggan.setContact_phone(cell.attributeValue("Value"));
}else if(cell.attributeValue("Name").equals("facsimileTelephoneNumber"))
{
//传真号码
orggan.setFax_phone(cell.attributeValue("Value"));
}
}
list.add(orggan);
}
return list;
}
public static String returnXmlMsg(String msg,int rs){
StringBuffer str = new StringBuffer();
str.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
.append("<Response>")
.append("<Result ErrMsg=\""+ msg +"\" Value=\""+ rs +"\"/>")
.append("</Response>");
return str.toString();
}
}