DTD文件
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT style (fonts,colors)>
<!ATTLIST fonts class CDATA #REQUIRED>
<!ATTLIST fonts method CDATA #REQUIRED>
<!ELEMENT fonts (font*)>
<!ATTLIST font id CDATA #REQUIRED>
<!ATTLIST font fontfamily CDATA #REQUIRED>
<!ATTLIST font fontsize CDATA #REQUIRED>
<!ATTLIST font fontstyle CDATA #REQUIRED>
<!ATTLIST font class CDATA #REQUIRED>
<!ATTLIST colors class CDATA #REQUIRED>
<!ATTLIST colors method CDATA #REQUIRED>
<!ELEMENT colors (color*)>
<!ATTLIST color id CDATA #REQUIRED>
<!ATTLIST color r CDATA #REQUIRED>
<!ATTLIST color g CDATA #REQUIRED>
<!ATTLIST color b CDATA #REQUIRED>
<!ATTLIST color class CDATA #REQUIRED>
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE style SYSTEM "istyle.dtd" >
<style>
<fonts class="com.reader.factory.FontFactory" method="addMap">
<font fontfamily="Courier" fontstyle="1" fontsize="13" id="JTEXTPANE_FONT" class="com.reader.domain.FontDomain"></font>
</fonts>
<colors class="com.reader.factory.ColorFactory" method="addMap">
<color b="197" g="168" r="140" id="JSPLITPANE_BACK_COLOR" class="com.reader.domain.ColorDomain"></color>
<color b="248" g="234" r="207" id="TITLE_BACK_COLOR" class="com.reader.domain.ColorDomain"></color>
<color b="255" g="255" r="255" id="WRITE" class="com.reader.domain.ColorDomain"></color>
<color b="246" g="239" r="224" id="LIST_SELECT_BACKGROUND" class="com.reader.domain.ColorDomain"></color>
</colors>
</style>
解析XML
/**
* 加载xml文件
*/
public static void loadXmlResource() {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("style1.xml"));
Element root = document.getDocumentElement();
NodeList rootList = root.getChildNodes();
for(int i=0;i<rootList.getLength();i++){
Node rootNode = rootList.item(i);
//以下...
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}