XML:
<?xml version="1.0" encoding="UTF-8"?>
<decorators >
<decorator id="1">
<name>班级首页</name>
<sort>1</sort>
<parentId>0</parentId>
<parentIds>0,</parentIds>
<websiteType>班级网站</websiteType>
<contentForm>文章</contentForm>
<secondLevelPage>3</secondLevelPage>
</decorator>
<decorator id="2">
<name>班级活动</name>
<sort>2</sort>
<parentId>0</parentId>
<parentIds>0,</parentIds>
<websiteType>班级网站</websiteType>
<contentForm>文章</contentForm>
<secondLevelPage>1</secondLevelPage>
</decorator>
</decorators>
Java代码:
//1、创建一个DocumentBuilderFactory的对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//2、创建一个DocumentBuilder的对象
try {
//创建DocumentBuilder对象
DocumentBuilder db = dbf.newDocumentBuilder();
//获取xml路径
String staticUrl = request.getSession().getServletContext().getRealPath("/static/directoryXml/decorators.xml");
//3、通过DocumentBuilder对象的parser方法加载directory.xml文件到当前项目下
Document document = db.parse(staticUrl);//传入文件名可以是相对路径也可以是绝对路径
//获取所有decorator节点的集合
NodeList dirList = document.getElementsByTagName("decorator");
//遍历每一个节点
for (int k = 0; k < dirList.getLength(); k++) {
Element element = (Element) dirList.item(k);
// 此时element就是一个具体的元素
// 节点getNodeValue的值永远为null,加上getFirstChild()
String name = element.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
// 后面类似处理即可:
String sort = element.getElementsByTagName("sort").item(0).getFirstChild().getNodeValue();
String parentId = element.getElementsByTagName("parentId").item(0).getFirstChild().getNodeValue();
String parentIds = element.getElementsByTagName("parentIds").item(0).getFirstChild().getNodeValue();
String websiteType = element.getElementsByTagName("websiteType").item(0).getFirstChild().getNodeValue();
String contentForm = element.getElementsByTagName("contentForm").item(0).getFirstChild().getNodeValue();
String secondLevelPage = element.getElementsByTagName("secondLevelPage").item(0).getFirstChild().getNodeValue();
CmsDirectory cmsDirectory = new CmsDirectory();
cmsDirectory.setName(name);
cmsDirectory.setWebsiteID(cmsWebsite.getId());
cmsDirectory.setName(name);
cmsDirectory.setSort(Integer.parseInt(sort));
cmsDirectory.setParentId(parentId);
cmsDirectory.setParentIds(parentIds);
cmsDirectory.setWebsiteType(websiteType);
cmsDirectory.setContentForm(contentForm);
cmsDirectory.setSecondLevelPage(secondLevelPage);
cmsDirectory.setCreateUser(UserUtils.getUser().getName());
cmsDirectory.setCreateUserID(UserUtils.getUser().getId());
cmsDirectory.setCreateTime(new Date());
cmsDirectoryService.save(cmsDirectory);//保存栏目
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}