当前位置: 首页 > news >正文

idea编辑XML文件出现:Tag name expected报错

说明

Tag name expected解释其实就是:需要标记名称,也就是符号不能直接使用的意思

XML (eXtensible Markup Language) 是一种标记语言,用于存储和传输数据。在 XML 中,有些字符被视为特殊字符,这些字符在 XML 中具有特殊的意义,而不是普通字符。

报错

在XMl文件中,SpringBoot中Mapper文件中,直接使用比较符号,会出出现Tag name expected的报错。其实在XMl中一些特殊字符是不能直接使用的,直接使用就会出现Tag name expected报错,编译不通过

 

解释:

在XML中,某些字符不能直接使用是因为它们被保留用于XML文档的结构和语法。这些字符包括:

  1. 尖括号(<和>):在XML中,尖括号用于标记开始和结束标签以及实体引用,不能直接在文本内容中使用。

  2. 引号("和'):引号用于将属性值括起来,如果直接在文本中使用可能会导致解析错误。

  3. &符号:&符号用于表示实体引用,如"<"表示小于号"<"。如果直接在文本中使用可能会导致解析错误。

为了在XML文档中使用这些保留字符,可以使用实体引用或字符引用。实体引用使用“&”符号和一个预定义的名称或数字来表示一个字符,例如“<”表示小于号“<”。字符引用使用Unicode编码值来表示一个字符,例如“<”也表示小于号“<”。这样就可以在XML文档中使用这些保留字符而不会导致解析错误。

解决:

解决方式一:

使用CDATA将字符包裹起来

<![CDATA[<=]]>   //小于等于<![CDATA[>=]]> //大于等于
 and t.time <![CDATA[<=]]> #{conditionDTO.startDate,jdbcType=TIMESTAMP}

 CDATA说明:

在XML中, <![CDATA[ ]]> 是一个字符数据的语法,用于在XML文档中表示纯文本内容,而不需要对其中的内容进行XML标记解析。

在给定的语法中, <![CDATA[<=]]> 表示一个字符串“<=”,其中字符“<”和“=”不被视为XML标记的一部分,因为它们被包含在 <![CDATA[ ]]> 标记中。这意味着XML解析器将这个字符串视为纯文本数据,而不会尝试将其解释为XML标记或实体引用。

CDATA标记通常用于在XML文档中嵌入一些包含XML保留字符或其他特殊字符的文本内容,例如HTML代码或JavaScript代码等。使用CDATA标记可以避免这些特殊字符与XML标记语法冲突,同时确保它们在XML文档中保持原样,而不会被解释为XML标记

解决方式二:

使用预定义字符,来代替直接写相关字符:

字符预定义字符
<&lt;
>&gt;
"&quot;
'&apos;
&&amp;

预定义实用字符是不存在<=的根据自己的时机情况判断选择说明方式来表示。

 

心态放平,心平气和。

http://www.lryc.cn/news/34208.html

相关文章:

  • 第十三届蓝桥杯省赛C++ A组 爬树的甲壳虫(简单概率DP)
  • 手动集成Tencent SDK遇到的坑!!!
  • 三天吃透mybatis面试八股文
  • SpringBoot整合Quartz以及异步调用
  • Golang 中 Slice的分析与使用(含源码)
  • 瀑布开发与敏捷开发的区别,以及从瀑布转型敏捷项目管理的5大注意事项
  • “华为杯”研究生数学建模竞赛2007年-【华为杯】A题:建立食品卫生安全保障体系数学模型及改进模型的若干理论问题(附获奖论文)
  • 基于JavaWeb学生选课系统开发与设计(附源码资料)
  • centos7 oracle19c安装||新建用户|| ORA-01012: not logged on
  • 【算法设计-分治】递归与尾递归
  • HTML 编辑器
  • css盒模型详解
  • 函数模板(template关键字的应用)
  • 嵌入式学习笔记——使用寄存器编程操作GPIO
  • 图像的读取与保存
  • 【蓝桥杯集训·每日一题】AcWing 4074. 铁路与公路
  • 网络:TCP与UDP相关知识(详细)
  • 不好!有敌情,遭到XSS攻击【网络安全篇】
  • Mysql中Explain详解及索引的最佳实践
  • JavaScript 内的 this 指向
  • Java多种方法实现等待所有子线程完成再继续执行
  • 制造企业数字化工厂建设步骤的建议
  • 网上鲜花交易平台,可运行
  • 【实战】用 Custom Hook + TS泛型实现 useArray
  • 【LeetCode】剑指 Offer(18)
  • Kubernetes节点运行时从Docker切换到Containerd
  • 【编程基础之Python】12、Python中的语句
  • android h5餐饮管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计
  • 容易混淆的嵌入式(Embedded)术语
  • Nodejs 中 JSON 和 YAML 互相转换