1
package org.herac.tuxguitar.gui.tools.browser.xml;
4
import java.io.IOException;
6
import javax.xml.parsers.DocumentBuilder;
7
import javax.xml.parsers.DocumentBuilderFactory;
8
import javax.xml.parsers.ParserConfigurationException;
10
import org.herac.tuxguitar.gui.tools.browser.TGBrowserCollectionInfo;
11
import org.herac.tuxguitar.gui.tools.browser.TGBrowserManager;
12
import org.w3c.dom.Document;
13
import org.w3c.dom.NamedNodeMap;
14
import org.w3c.dom.Node;
15
import org.w3c.dom.NodeList;
16
import org.xml.sax.SAXException;
18
public class TGBrowserReader {
19
private static final String ITEM_TAG = "browser-collection";
20
private static final String ATTRIBUTE_TYPE = "type";
21
private static final String ATTRIBUTE_DATA = "data";
23
public void loadCollections(TGBrowserManager manager,File file){
26
Document doc = getDocument(file);
27
loadCollections(manager,doc.getFirstChild());
28
} catch (Throwable throwable) {
29
throwable.printStackTrace();
34
private static void loadCollections(TGBrowserManager manager,Node node){
35
NodeList listNode = node.getChildNodes();
36
for (int i = 0; i < listNode.getLength(); i++) {
37
Node child = listNode.item(i);
38
String nameNode = child.getNodeName();
39
if (nameNode.equals(ITEM_TAG)) {
40
NamedNodeMap params = child.getAttributes();
42
String type = params.getNamedItem(ATTRIBUTE_TYPE).getNodeValue();
43
String data = params.getNamedItem(ATTRIBUTE_DATA).getNodeValue();
45
TGBrowserCollectionInfo info = new TGBrowserCollectionInfo();
48
manager.addInfo(info);
54
private static Document getDocument(File file) throws ParserConfigurationException, SAXException, IOException {
55
Document document = null;
56
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
58
DocumentBuilder builder = factory.newDocumentBuilder();
59
document = builder.parse(file);