.xml文件中的"&"报错:Unescaped & or nonterminated character/entity reference

本文解决了IDEA中“&”被误解析的问题,提供了两种解决方案:一是将“&”改写为“&”,二是使用CDATA区来避免转义字符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:此博客不再更新,所有最新文章将发表在个人独立博客limengting.site。分享技术,记录生活,欢迎大家关注

原因:IDEA将“&”当成了特殊符号。

解决方案1:将“&”改写为&

P.S : 写博客的时候发现markdown编辑器也会将“&”解析成“&”,将其作为代码标红才能显示出来。

这里写图片描述

解决方案2:使用CDATA区:
这里写图片描述
当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这时应该使用CDATA段。在CDATA段中出现的“ < ”、“ > ”、“ " ”、“ ”、“ & ”都无需使用转义字符,但CDATA段中不能包含“]]>”,即CDATA段的结束定界符。

09:17:21.728 [main] ERROR org.springframework.boot.SpringApplication -- Application run failed org.yaml.snakeyaml.scanner.ScannerException: while scanning a double-quoted scalar in &#39;reader&#39;, line 96, column 18: avatar-path: &quot;C:\Users\35182\Desktop\workspac ... ^ expected escape sequence of 8 hexadecimal numbers, but found: sers\351 in &#39;reader&#39;, line 96, column 23: avatar-path: &quot;C:\Users\35182\Desktop\workspace-and ... ^ at org.yaml.snakeyaml.scanner.ScannerImpl.scanFlowScalarNonSpaces(ScannerImpl.java:1938) at org.yaml.snakeyaml.scanner.ScannerImpl.scanFlowScalar(ScannerImpl.java:1882) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchFlowScalar(ScannerImpl.java:1057) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDouble(ScannerImpl.java:1039) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:427) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:238) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:669) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:57) at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:43) at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:136) at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:116) at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:249) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:214) at org.yaml.snakeyaml.composer.Composer.composeKeyNode(Composer.java:386) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:357) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:329) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:218) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:396) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:361) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:329) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:218) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:396) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:361) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:329) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:218) at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:141) at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:162) at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.getData(OriginTrackedYamlLoader.java:99) at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:529) at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:203) at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:169) at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:84) at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50) at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:54) at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:36) at org.springframework.boot.context.config.ConfigDataLoaders.load(ConfigDataLoaders.java:96) at org.springframework.boot.context.config.ConfigDataImporter.load(ConfigDataImporter.java:132) at org.springframework.boot.context.config.ConfigDataImporter.resolveAndLoad(ConfigDataImporter.java:87) at org.springframework.boot.context.config.ConfigDataEnvironmentContributors.withProcessedImports(ConfigDataEnvironmentContributors.java:121) at org.springframework.boot.context.config.ConfigDataEnvironment.processInitial(ConfigDataEnvironment.java:245) at org.springframework.boot.context.config.ConfigDataEnvironment.processAndApply(ConfigDataEnvironment.java:232) at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:96) at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:89) at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEnvironmentPreparedEvent(EnvironmentPostProcessorApplicationListener.java:132) at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEvent(EnvironmentPostProcessorApplicationListener.java:115) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:81) at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:64) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:63) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:353) at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.mix.YSKAHApplication.main(YSKAHApplication.java:21)
08-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值