⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlfiledirectorygenerator.java

📁 XML parser with DOM. Helps on parsing and generating a directory structure
💻 JAVA
字号:
package directory.generator;import java.io.File;import javax.swing.tree.TreeModel;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Node;public class XMLFileDirectoryGenerator extends DirectoryGenerator {		//public static void main(String[] args) {	//	new XMLFileDirectoryGenerator().process(new File("/home/equality/workspace/XMLParser/DirectoryStructure.xml"));	//}		@Override	public TreeModel process(File file) {		// TODO Auto-generated method stub		System.out.println("Parsing and .XML file");		try {			// parse the xml file into a Document			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();			DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();			Document document = docBuilder.parse(file.getAbsolutePath());						// create folder structure			File topLevelDir = createDirectoryStructure(document);						// create and return tree model from previously created folder structure			return new DirectoryTreeModel(topLevelDir);								} catch (Exception e) {// Catch exception if any			e.printStackTrace();			return null;		}			}	private File createDirectoryStructure(Document document) {		//System.out.println(document.getFirstChild().getAttributes());		String rootDirectoryValue = document.getFirstChild().getAttributes().getNamedItem("path").getNodeValue();		File file = new File (rootDirectoryValue);		if (!file.exists()) {			file.mkdir();		}		for (int i = 0; i < document.getFirstChild().getChildNodes().getLength(); i++) {			Node childNode = document.getFirstChild().getChildNodes().item(i);			if (childNode.getNodeName().equals("directory")) {				createRelativeDirectory(childNode, rootDirectoryValue);			}		}		// return the root directory		return file;	}		private void createRelativeDirectory (Node currentNode, String path) {		System.out.println(path);		String newDirectoryPath = path + "/" + currentNode.getAttributes().getNamedItem("path").getNodeValue(); 		File file = new File (newDirectoryPath);		if (!file.exists()) {			file.mkdir();		}		for (int i = 0; i < currentNode.getChildNodes().getLength(); i++) {			Node childNode = currentNode.getChildNodes().item(i);			if (childNode.getNodeName().equals("directory")) {				createRelativeDirectory(childNode, newDirectoryPath);			}		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -