包含带标记的值的XML属性文件
16lz
2021-01-22
I'm using loadFromXML
method of java.util.Properties
class to parse an XML file that contains some application parameters. Value of one of these parameters is an HTML string as follows:
我使用的是java.util的loadFromXML方法。属性类来解析包含一些应用程序参数的XML文件。其中一个参数的值是一个HTML字符串,如下所示:
<?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">MAIL@SOMESITE.COM</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>
When I have such a value, loadFromXML
method throws the following exception:
当我有这样一个值时,loadFromXML方法抛出以下异常:
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)
Is there a way to use such a value in an XML properties file?
有办法在XML属性文件中使用这样的值吗?
1 个解决方案
#1
5
Use a CDATA section inside your xml, to mark it as data, otherwise it will be parsed as a part of your xml:
在xml中使用CDATA部分,将其标记为数据,否则将解析为xml的一部分:
See http://www.w3schools.com/xml/xml_cdata.asp
参见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">MAIL@SOMESITE.COM</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>
更多相关文章
- 转发可变数量的参数以通过椭圆运算符接受可变数量的参数
- 准备语句SQL异常“无输入参数”
- JAVA中的反射只获取属性的get方法
- 如何在Spring中读取具有相同键的多个属性?
- 使用Java中的Scala:将函数作为参数传递
- 如何在命令中传递对象参数?
- 为泛型类的泛型方法的属性赋值 - Java
- 如何在Spring Data(JPA)派生查询中按多个属性排序?
- 如何在Javascript中解析URL查询参数?(复制)