idea編輯XML文件出現(xiàn):Tag name expected報(bào)錯(cuò)的解決
說(shuō)明
Tag name expected解釋其實(shí)就是:需要標(biāo)記名稱,也就是符號(hào)不能直接使用的意思
XML (eXtensible Markup Language) 是一種標(biāo)記語(yǔ)言,用于存儲(chǔ)和傳輸數(shù)據(jù)。
在 XML 中,有些字符被視為特殊字符,這些字符在 XML 中具有特殊的意義,而不是普通字符。
報(bào)錯(cuò)
在XMl文件中,SpringBoot中Mapper文件中,直接使用比較符號(hào),會(huì)出出現(xiàn)Tag name expected的報(bào)錯(cuò)。
其實(shí)在XMl中一些特殊字符是不能直接使用的,直接使用就會(huì)出現(xiàn)Tag name expected報(bào)錯(cuò),編譯不通過(guò)

解釋
在XML中,某些字符不能直接使用是因?yàn)樗鼈儽槐A粲糜赬ML文檔的結(jié)構(gòu)和語(yǔ)法。這些字符包括:
- 尖括號(hào)(<和>):在XML中,尖括號(hào)用于標(biāo)記開(kāi)始和結(jié)束標(biāo)簽以及實(shí)體引用,不能直接在文本內(nèi)容中使用。
- 引號(hào)("和'):引號(hào)用于將屬性值括起來(lái),如果直接在文本中使用可能會(huì)導(dǎo)致解析錯(cuò)誤。
- &符號(hào):&符號(hào)用于表示實(shí)體引用,如"<"表示小于號(hào)"<"。如果直接在文本中使用可能會(huì)導(dǎo)致解析錯(cuò)誤。
為了在XML文檔中使用這些保留字符,可以使用實(shí)體引用或字符引用。
實(shí)體引用使用“&”符號(hào)和一個(gè)預(yù)定義的名稱或數(shù)字來(lái)表示一個(gè)字符,例如“<”表示小于號(hào)“<”。
字符引用使用Unicode編碼值來(lái)表示一個(gè)字符,例如“<”也表示小于號(hào)“<”。
這樣就可以在XML文檔中使用這些保留字符而不會(huì)導(dǎo)致解析錯(cuò)誤。
解決
解決方式一
使用CDATA將字符包裹起來(lái)
<![CDATA[<=]]> //小于等于 <![CDATA[>=]]> //大于等于
and t.time <![CDATA[<=]]> #{conditionDTO.startDate,jdbcType=TIMESTAMP}
CDATA說(shuō)明:
在XML中, <![CDATA[ ]]> 是一個(gè)字符數(shù)據(jù)的語(yǔ)法,用于在XML文檔中表示純文本內(nèi)容,而不需要對(duì)其中的內(nèi)容進(jìn)行XML標(biāo)記解析。
在給定的語(yǔ)法中, <![CDATA[<=]]> 表示一個(gè)字符串“<=”,其中字符“<”和“=”不被視為XML標(biāo)記的一部分,因?yàn)樗鼈儽话?<![CDATA[ ]]> 標(biāo)記中。這意味著XML解析器將這個(gè)字符串視為純文本數(shù)據(jù),而不會(huì)嘗試將其解釋為XML標(biāo)記或?qū)嶓w引用。
CDATA標(biāo)記通常用于在XML文檔中嵌入一些包含XML保留字符或其他特殊字符的文本內(nèi)容,例如HTML代碼或JavaScript代碼等。使用CDATA標(biāo)記可以避免這些特殊字符與XML標(biāo)記語(yǔ)法沖突,同時(shí)確保它們?cè)赬ML文檔中保持原樣,而不會(huì)被解釋為XML標(biāo)記。
解決方式二
使用預(yù)定義字符,來(lái)代替直接寫相關(guān)字符:
| 字符 | 預(yù)定義字符 |
| < | < |
| > | > |
| " | " |
| ' | ' |
| & | & |

預(yù)定義實(shí)用字符是不存在<=的根據(jù)自己的時(shí)機(jī)情況判斷選擇說(shuō)明方式來(lái)表示。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
微服務(wù)架構(gòu)設(shè)計(jì)RocketMQ基礎(chǔ)及環(huán)境整合
這篇文章主要介紹了微服務(wù)架構(gòu)設(shè)計(jì)入門RocketMQ的基礎(chǔ)及環(huán)境整合實(shí)現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
詳解Spring與Mybatis整合方法(基于IDEA中的Maven整合)
這篇文章主要介紹了Spring與Mybatis整合方法(基于IDEA中的Maven整合),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Java移除無(wú)效括號(hào)的方法實(shí)現(xiàn)
本文主要介紹了Java移除無(wú)效括號(hào)的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Java 獲取Web項(xiàng)目相對(duì)webapp地址的實(shí)例
下面小編就為大家?guī)?lái)一篇Java 獲取Web項(xiàng)目相對(duì)webapp地址的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Java實(shí)現(xiàn)大文件上傳與斷點(diǎn)續(xù)傳的全過(guò)程
本文介紹了如何使用Java(SpringBoot)實(shí)現(xiàn)高效、可靠的大型文件上傳系統(tǒng),包括分片上傳、斷點(diǎn)續(xù)傳等核心設(shè)計(jì)思想和后端實(shí)現(xiàn)步驟,通過(guò)優(yōu)化建議和進(jìn)階方案,進(jìn)一步提升了用戶體驗(yàn)和系統(tǒng)健壯性,需要的朋友可以參考下2026-01-01
基于Spring Cloud Zookeeper實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)
這篇文章主要介紹了基于Spring Cloud Zookeeper實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn),幫助大家更好的理解和學(xué)習(xí)spring框架,感興趣的朋友可以了解下2020-11-11
Java文件讀寫IO/NIO及性能比較詳細(xì)代碼及總結(jié)
這篇文章主要介紹了Java文件讀寫IO/NIO及性能比較詳細(xì)代碼及總結(jié),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Druid(新版starter)在SpringBoot下的使用教程
Druid是Java語(yǔ)言中最好的數(shù)據(jù)庫(kù)連接池,Druid能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能,DruidDataSource支持的數(shù)據(jù)庫(kù),這篇文章主要介紹了Druid(新版starter)在SpringBoot下的使用,需要的朋友可以參考下2023-05-05

