2012-08-03 4 views
1

java.util.Properties 클래스의 loadFromXML 메서드를 사용하여 일부 응용 프로그램 매개 변수가 포함 된 XML 파일을 구문 분석합니다.태그가 포함 된 XML 속성 파일

java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: Element type "span" must be declared. 
    at java.util.XMLUtils.load(XMLUtils.java:59) 
    at java.util.Properties.loadFromXML(Properties.java:852) 
    at com.test.mail.ConfigReader.<init>(ConfigReader.java:27) 
    at com.test.mail.ConfigReader.getInstance(ConfigReader.java:43) 
    at com.test.mail.SendMail.readParameters(SendMail.java:64) 
    at com.test.mail.SendMail.startJob(SendMail.java:29) 
    at com.test.mail.SendMail.main(SendMail.java:24) 

같은 값을 사용하는 방법이 있나요 :

나는 그런 값이
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
    <entry key="THREAD_COUNT">4</entry> 
    <entry key="SENDER_EMAIL">[email protected]</entry> 
    <entry key="EMAIL_SUBJECT">SAMPLE SUBJECT</entry> 
    <entry key="EMAIL_BODY"><span style='font-family : Monotype Corsiva ; font-size:14pt'>SAMPLE TEXT</span></entry> 
</properties> 

loadFromXML 방법은 다음과 같은 예외가 발생 다음과 같이 이러한 매개 변수 중 하나의 HTML 문자열 값입니다 XML 속성 파일에?

답변

5

그렇지 않으면 당신의 XML의 일부로서 구문 분석됩니다 데이터로 표시하려면 XML 내부 CDATA 섹션을 사용

참조 http://www.w3schools.com/xml/xml_cdata.asp

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
    <entry key="THREAD_COUNT">4</entry> 
    <entry key="SENDER_EMAIL">[email protected]</entry> 
    <entry key="EMAIL_SUBJECT">SAMPLE SUBJECT</entry> 
    <entry key="EMAIL_BODY"><![CDATA[<span style='font-family : Monotype Corsiva ; font-size:14pt'>SAMPLE TEXT</span>]]></entry> 
</properties> 
관련 문제