关于xml中CDATA用法举例的信息

http://www.itjxue.com  2023-01-08 07:56  来源:未知  点击次数: 

是什么意思

被![CDATA[]]这个标记所包含的内容将表示为纯文本,比如![CDATA[]]表示文本内容“”。

此标记用于xml文档中。在xml中,””、””、””等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”lt;”、”gt;”、”amp;”,这样才能保存进xml文档。

在使用程序读取的时候,解析器会自动将这些实体转换回””、””、””。举个例子:

age age 30 /age

上面这种写法会报错,应该这样写:

age age lt; 30 /age

值得注意的是:

(1)转义序列字符之间不能有空格;

(2) 转义序列必须以”;”结束;

(3) 单独出现的””不会被认为是转义的开始;

(4) 区分大小写。

扩展资料:

在XML中,需要转义的字符有:

(1) amp;

(2) lt;

(3) gt;

(4)" quot;

(5)' apos;

但是严格来说,在XML中只有””和””是非法的,其它三个都是可以合法存在的,但是,把它们都进行转义是一个好的习惯。

不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,为了方便起见,使用![CDATA[]]来包含不被xml解析器解析的内容。但要注意的是:

(1) 此部分不能再包含”]]”;

(2) 不允许嵌套使用;

(3)”]]”这部分不能包含空格或者换行。

![CDATA[]]和xml转移字符的关系:

它们的功能是一样的,只是应用场景和需求有些不同:

(1)![CDATA[]]不能适用所有情况,转义字符可以;

(2) 对于短字符串![CDATA[]]写起来啰嗦,对于长字符串转义字符写起来可读性差;

(3)?![CDATA[]]表示xml解析器忽略解析,所以更快。

什么是CDATA段

CDATA DTD中的属性类型 全名:character data 在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下: ![CDATA[文本内容]] CDATA的文本内容中不能出现字符串“]]”,另外,CDATA不能嵌套。 DTD实例: !ATTLIST payment type CDATA "check" 指定类型为CDATA以后就可以在XML中被用于实例, 例如下面payment 元素的type属性被指定为CDATA类型后在XML中就可以赋于"check"的字符数据。 XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由“![CDATA["为开始标记,以“]]”为结束标记,注意CDATA为大写。 remark![CDATA[ 音标为[k?n'sist?nt] ]]/remark PHP实例: 比如:PHP中的div class="left floatl column"/div,DIV中就表示: Attribute : class Data Type : CDATA

XML文件里面的CDATA是什么 有什么作用

显示一段文字 如果是只有文字 就不会有异常,如果内部还含有其他元素呢,比如内部包含了first和last两个元素:显示一段文字 那么解析以后的结果xml就会理解成:显示一段文字如果在XML文档中使用类似" 字符是不能直接存入XML的,需要转义,而用这个标记则不需要转义而将这些符号存入XML文档。可以避免未预料的特殊符号导致XML解析出错。 c#涉及到关于XML的CDATA和验证有效性的问题==================================================当你用FLASH和xml结合做网站应用程序时,例如让人自由输入姓名时,人们可以输入一些符号,例如∶""、"/"、"?"等,当生成XML时,会破坏了XML结构,使数据中断。这就要用XML CDATA在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。Response.Write " Response.Write rs("message")Response.Write "]]"============================================标明是纯文本的,没有这个的话 字符是不能直接存入XML的,需要转义,而用这个标记则不需要转义而将这些符号存入XML文档。可以避免未预料的特殊符号导致XML解析出错。=============================================PCDATA表示已解析的字符数据。CDATA是不通过解析器进行解析的文本,文本中的标签不被看作标记。} ]] 注意上面的一个""符号.

xml CDATA区、特殊字符:= 大于等于

ML文档中包含类似"Elements look like "的文本,其中的""将被解析程序解释成一个元素,而人们实际想要的是""所表示的原义文本。

1.CDATA区:它的全称为character data,以" "开始,以" ]] " 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是

将这些数据原封不动地交给下游程序处理。

2.特殊字符 :

xml 中表示:?? = 小于等于、??? = 大于等于 需加? 这样的标记: xml中有的符号,需要这样表示

= 小于等于 :

= 大于等于:=]]

一些特殊字符也可用下面的替代符号所代替。

特殊字符?? 替代符号

???????????

????????????

????????????

"???????????? "

'????????????? '

eg.

select zjDailydrillrep.dailydrilrepid,

zjDailydrillrep.wellbore_id,

bore.well_legal_name,

zjDailydrillrep.spudin_date,

zjDailydrillrep.reportfor,

zjDailydrillrep.depthmkb,

zjDailydrillrep.tvdmkb,

zjDailydrillrep.format_id,

zjDailydrillrep.enginbrief,

zjDailydrillrep.Dailywellcost,

zjDailydrillrep.insert_date,

zjDailydrillrep.status,

zjDailydrillrep.comments,

zjDailydrillrep.Submitter,

zjDailydrillrep.Verifyer,

rig.rig_no,

zjDailydrillrep.Rothours,

(select GEO.CURRENT_TD

from LJ_DAILY_GEOLOGICAL_REPORT GEO

where zjDailydrillrep.WELLBORE_ID = GEO.WELLBORE_ID

and GEO.REPORT_DATE = zjDailydrillrep.REPORTFOR

and geo.half_full = '260002' and rownum ) td,--------表示rownum =1

(select GEO.CURRENT_TD

from LJ_DAILY_GEOLOGICAL_REPORT GEO

where zjDailydrillrep.WELLBORE_ID = GEO.WELLBORE_ID

and GEO.REPORT_DATE = zjDailydrillrep.REPORTFOR - 1

and geo.half_full = '260002'? and rownum ) tdbefore

from zj_Dailydrillrep zjDailydrillrep

left join COMM_WELLBORE BORE

on bore.wellbore_id = zjDailydrillrep.wellbore_id

left join zj_rig_data rig

on rig.rig_id = bore.rig_id

where 1 = 1

如何在XML字段插入带有CDATA的数据

1、创建pojo类(在一对多关联关系中,应该在“一”这端的pojo有一个“多”这一端的引用,而多这端有一这端的集合引用(即聚合关联)

2、创建pojo对应的数据库表,并插入数据

3、在ibatis配置文件中配置pojo类(配置方法:SqlMappingConfig.xml文件中添加如typeAlias alias="Key" type="com.longsky.ibatis.lock.model.Key"/配置,下文会看到。)

4、在pojo对应的xml配置文件中配置resultMap,比如在Lock.xml文件中添加

resultMap id="LockResult" class="Lock"

result property="id" column="id"/ result property="lockName" column="lockName"/

result property="keys" column="id" select="getKeysByLockId"/

/resultMap

5、在需要级联查询的查询语句中使用resultMap,比如

select id="selectAllLocks" resultMap="LockResult"

![CDATA[

select id,lockName from lock

]]

/select

在XML中说明CDATA标记及其作用

一、标注样式

命令行:DIMSTYLE”作用:创建和修改标注样式,设置当前标注样式.

一、 线性标注

一个完整的尺寸标注应包括四个组成元素:尺寸线、尺寸界线、尺寸线的端点符号和尺寸文字.

命令行:DIMLINEAR

1、 作用:标注垂直、水平或倾斜的线性尺寸.

二、 对齐尺寸标注

特点:尺寸线与所标注的线段平行,且处于倾斜位置的尺寸.命令行:[DIMALIGNED]作用:标注对齐尺寸.

三、 坐标型尺寸标注

DIMORDINATE,用于标注指定点相对于UCS原点的X坐标或Y坐标值.(绝对坐标)

四、 半径标注

DIMRADIUS,用于标注圆或圆弧的半径.

五、 直径标注

DIMDIAMETER用于标注圆或圆弧的直径.

六、 角度型尺寸标注

特点:直接标注圆弧的圆心角、任意不平行两直线之间的夹角等角度尺寸.

规定:角度数字要水平书写,尺寸的起止点是箭头.

DIMANGULAR

七、 基线标注

特点:所有尺寸公用一条尺寸界线,这条尺寸界线叫基线.

提示:先用线性尺寸命令标注第一个尺寸,再用基线型尺寸命令标注其他尺寸,标注基线型尺寸时,只需要选择第二条尺寸界线.

八、 连续标注DIMCONTINUE

1、 作用:标注连续链式尺寸.

2、 特点:第一尺寸的第二条尺寸界线是第二个尺寸的第一条尺寸界线,各尺寸首尾衔接.

九、 标注圆心标记

DIMCENTER,用于给指定的圆或圆弧画出圆心符号.

十、 引线标注LEADER

作用:完成一个带文字注释或形位公差的标注.

QLEADER(快速引线标注)

作用:快速绘制引线和进行引线标注.

十一、形位公差标注(了解)

在建筑图中几乎不存在,对于一个零件,其实际形状和位置相对于理想形状和位置存在一定的误差,该误差称为形位公差.TOLERANCE

十二、快速标注QDIM

快速标注是AUTOCAD新增的一项标注功能.一次选择多个对象,可同时标注多个相同类型的尺寸,这样可大大节省时间,提高工作效率.

十三、标注编辑DIMEDIT

1、 作用:用于修改选定标注对象的文字位置、文字内容和倾斜尺寸线.

提示:DIMTEDIT([标注]——对齐文字)用于移动或旋转标注文字,有动态拖动文字的功能.

(责任编辑:IT教学网)

更多

推荐Flash教程文章