XML和DTD

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();
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值