如何在Apache Camel配置字符串中正确使用小于号"<"?
解决Camel配置文件中密码含小于号"<"的启动失败问题
在XML配置文件里,小于号<属于预定义特殊字符,直接写入会导致XML解析报错,而反斜杠并非XML的转义符,所以用它转义无效。可以通过以下两种方法解决:
使用XML实体引用替换
把密码里的<替换成XML标准实体<,解析器会自动将其转换回小于号。修改后的配置示例:<configuration xsi:type="ProviderConfiguration" ...........> <provider controlName="Whisky"> <entry xsi:type="Simple" name="password" value="abcabc<ABC"> </provider> </configuration>(注:原配置中
xsi:type=Simple"缺少左引号,已一并修正)使用CDATA块包裹内容
将密码内容放在<![CDATA[...]]>块内,XML解析器会把块中内容当作纯文本处理,不会解析特殊字符。可调整配置结构,把value作为子元素实现:<configuration xsi:type="ProviderConfiguration" ...........> <provider controlName="Whisky"> <entry xsi:type="Simple" name="password"> <value><![CDATA[abcabc<ABC]]></value> </entry> </provider> </configuration>
内容的提问来源于stack exchange,提问作者paddywide
相关产品推荐
相关产品推荐

