XML学习笔记2 命名空间 CDATA 编码

dom4j生成XML报文以及CDATA值的设置 接口通讯报文经常遇到需要使用XML报文的情况,这几天刚好与另一个系统做接口开发,对方要求的XML报文格式如下: 2014 2 0001 100000 CORPMIS TMIS 2014-02-27 11:44:33 330000000101 zjbank1 阅读详情

XML高级

XML命名空间
提供避免元素命名冲突的方法,XML命名空间放置在元素的开始标签中,并遵循以下语法

xmlns:namespace-prefix="namespaceURI"

当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

例如:

<h:table xmlns:h="http://www.w3.org/TR/html4/">
   <h:tr>
   <h:td>Apples</h:td>
   <h:td>Bananas</h:td>
   </h:tr>
</h:table>
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
   <f:name>African Coffee Table</f:name>
   <f:width>80</f:width>
   <f:length>120</f:length>
</f:table>

以上两个XML文档使用了相同的table元素,但由于使用了命名空间,因此同时使用两个文档时,不会造成解析冲突

为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

<table xmlns="http://www.w3.org/TR/html4/">
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

XML CDATA
所有 XML 文档中的文本均会被解析器解析,只有 CDATA 区段(CDATA section)中的文本会被解析器忽略
CDATA 部分由 “<![CDATA[” 开始,由 “]]>” 结束:

<script>
<![CDATA[
function matchwo(a,b){
if (a < b && a < 0) then
  {
      return 1;
  }
else
  {
      return 0;
  }
}
]]>
</script>
  • CDATA 部分不能包含字符串 “]]>”。也不允许嵌套的 CDATA 部分。
  • 标记 CDATA 部分结尾的 “]]>” 不能包含空格或折行

XML编码
XML 文档可以包含非 ASCII 字符,比如法语。为了避免错误,需要规定 XML 编码,或者将 XML 文档存为 Unicode

<?xml version="1.0" encoding="UTF-8"?>  //单字节编码
<?xml version="1.0" encoding="UTF-16"?>  //双字节编码
  • 如果您的文件被保存为 Unicode/UTF-16,但是编码属性被指定为单字节编码(比如 Windows-1252、ISO-8859-1 或者 UTF-8)时,那么您就会得到将当前编码切换为不被支持的指定编码的错误消息。或者当您的文档被保存为单字节编码,但编码属性被指定为双字节编码(比如 UTF-16)时,也会得到这个错误消息。
  • 如果 XML 文档中的某个字符与编码属性不匹配,您就会得到在文本内容中发现非法字符的错误消息。通常,当 XML 文件中含有外国字符,且当文件使用类似记事本的单字节编码编辑器保存,以及没有指定编码属性时,您就会得到这个错误消息。
.NET XML序列化实战:命名空间、CDATA与DateTime处理指南 XML序列化是结构化数据交换的基础技术,其核心在于严格遵循XML Schema(XSD)、精确控制命名空间、保障类型语义一致性,并支持可验证的文档结构。相比JSON,XML在工业协议(如IEC 61850)、金融清算、政务对接等强契约场景中不可替代,关键价值体现在xsi:type、xml:lang、CDATA节、默认命名空间声明等细节的可控性上。技术实现需深入理解XmlSerializer的编译时代码生成机制、XmlSerializerNamespaces对前缀的精准绑定,以及DateTime时区格式、CD 阅读详情

相关推荐

XML CDATA解析与应用实践指南

XML CDATA(字符数据)是XML文档处理中的关键概念,它允许开发者在不触发XML解析器的情况下嵌入包含特殊字符的内容。其核心原理是通过<![CDATA[ ]]>语法标记创建一个不解析的文本区块,这在处理HTML代码、数学公式或日志文本等场景中尤为重要。从技术实现来看,CDATA相比转义字符具有更好的可读性和处理效率,特别是在包含大量特殊符号时能提升15-20%的解析性能。在现代开发中,CDATA广泛应用于企业系统集成、配置管理和日志系统等领域,与JSON等格式相比,它在保留原始数据格式方面具有独特优势

weixin_30345577的博客 305

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

XML文档中包含类似"Elements look like "的文本,其中的""将被解析程序解释成一个元素,而人们实际想要的是""所表示的原义文本。 1.CDATA区:它的全称为character data,以""开始,以" ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是 将这些数据原封不动地交给下游程序处理。 2.特殊字符 : x

jihuanliang的专栏 8万+

PHP操作XML入门之CDATA区段

然后,通过getElementsByTagName()函数获取到包含CDATA区段的子元素,并使用firstChild属性获取到CDATA节点。最后,通过访问CDATA节点的data属性,我们可以获取到CDATA区段中的原始文本内容,并进行相应的处理。然后,创建了一个根元素和一个子元素,并将子元素添加到根元素中。然后,我们演示了如何读取XML文档中的CDATA区段,并获取其中的原始文本内容。在PHP中,操作XML数据非常常见,而CDATA区段是XML中的一种特殊格式,用于包含需要保留原始文本格式的数据。

qq_37934722的博客 311

XML简介之CDATA与XML编码

15.XML CDATA   -------------------------------------------------------------------------------- 在XML文档中的所有文本都会被解析器解析。 只有在CDATA部件之内的文本会被解析器忽略。 --------------------------------------------

lijizh1013的专栏 1420

把 CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。

把 CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。

RBF(径向基神经网络)基础解析与代码实例:拟合任意函数

目前RBF这一强大工具已经被基本证实可以拟合任意函数! 在机器学习领域,神经网络是一种强大的工具,用于解决各种复杂问题。其中,径向基函数(RBF,Radial Basis Function)神经网络以其独特的结构和优异的性能,在非线性函数逼近、模式识别等领域表现尤为突出。RBF神经网络是一种前馈神经网络,其隐含层节点的激活函数采用径向基函数,具有更强的局部逼近能力和更快的收敛速度。

橙色小博的博客,励志在人工智能领域发光发热! 1604

CDATA标签的用法

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在xml中英文问号“?”是可以被正常解析的,但是以下这几种符号是不能正常解析的:分别是“&”、“”、“’”、“””。 “ “&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。 解决方法一: 把实体引用编码后使用,即 把“&” 编码为 “&” 把“ 把“>”

也许我太傻 1万+

银河麒麟v10-arm版离线安装Portainer

银河麒麟v10-arm版离线安装Portainer

q_hsolucky的博客 3051

XML CDATA

摘要 XML CDATA(字符数据)是一种XML语法,用于直接嵌入无需解析的原始文本(如HTML、脚本或特殊字符),避免手动转义。其核心特性包括:以<![CDATA[和]]>标记界定纯文本内容,不解析内部符号(如<、>),适用于Web服务、配置文件和动态内容存储。示例显示CDATA可简化复杂数据嵌入(如包含<b>标签的HTML),但需注意不可嵌套或包含]]>。解析器(如DOM、SAX)将CDATA内容作为文本节点处理,支持JavaScript、C#等语言解析。典型应

m0_57545130的博客 924

深入解析Matlab phantom函数:从基础模体到自定义头部仿真

本文深入解析了Matlab中的phantom函数,它是医学图像处理算法测试的核心工具。文章详细介绍了如何使用内置的Shepp-Logan及其改良版头部仿真模体,并重点讲解了通过自定义参数矩阵来构建专属模体的方法。通过从生成模体到模拟投影(正弦图)再到图像重建的完整实战流程,展示了phantom函数在CT等算法开发与验证中的关键作用。

m3n5b7v8c9x的博客 950

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3555

oracle xml中cdata,XML CDATA的作用

XML CDATA的作用更新时间:2009年09月01日 00:52:36 作者:当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入一些符号,例如∶""、"/"、"?"等,当生成XML时,会破坏了XML结构,使数据中断。这就要用XML CDATA在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。解...

weixin_39517054的博客 1007

【Unity-UGUI控件全面解析】| Layout自动布局组件详解

UGUI中有个自动布局组件Auto Layout,主要包含下面几个模块(点击可进入官方文档下查看描述): 自动布局 布局元素 (Layout Element) 水平布局组 (Horizontal Layout Group) 垂直布局组 (Vertical Layout Group) 网格布局组 (Grid Layout Group) 内容大小适配器 (Content Size Fitter) 自动布局系统 基于布局元素和布局控制器的概念。一个布局元素是具有矩形变换以及其他可选组件的游戏对象。布局元素对自身

努力前行,总会成为自己心中的那道光 2万+

处理 XML 数据:有效地使用 CDATA 区域

当您在XML文件中存储数据时,您通常需要仔细以安全且不易使XML解析器混淆的方式进行编码。特殊的XML标记字符需要被转换为一些实体,如果您在文本编辑器中亲自编写XML,这种需求可能会很麻烦。为避免这种麻烦,您可以使用CDATA区域来直接存储数据,而不必担心编码问题。本文将向您介绍CDATA区域,以及如何使用这些CDATA区域,以便在提供XML文件的同时提供标记好的数据。 <br />简介<br />常用缩略词<br />Ajax:异步 JavaScript + XML<br />API:应用程序编程接

abby_dcy的专栏 2341

Gbase 8a GDCA考试真题100%

本文整理一些Gbase 8a中非常易错得考试真题及答案,而且都是不好搜的。加粗的是正确答案。

打工之路,一路生花 4305

AM芯片性能测试

目前车载FM&AM没有明确的国标,因此各家测试项目可能不同,最主要测试标准比较混乱,多是根据具体芯片的规格书以及与芯片厂商协商。信号发生器:R&S SMCV100B音频分析仪:R&S UPV AUDIO AYALYZER DC 250KHZ(AP的也可以)专用USB-I2C控制模块(不同芯片控制模块不同,例如SPI或UART的控制模块)卡农线(针对模拟声道输出,+接左/右声道,-接GND,地可接GND也可悬空)

qflook的博客 902

XML简介与CDATA解释

简介XML 是一种受到广泛支持的 Internet 标准,用于以一种特殊的方式编码结构化数据。实际上,以 XML 编码的数据可以通过任何编程语言解码,人们甚至可以使用标准的文本编辑器来阅读或编写 XML 数据。许多应用程序,尤其是兼容现代标准的 Web 浏览器,可以直接处理 XML 数据。 作为一个基于文本的标准,XML 非常适于在客户机和服务器系统之间交换数据。大部分数据(文件路径、描...

angen3675的博客 373

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

xml简介 以及 CDATA区段的用法说明

Xml(extendsible markup language可扩展性标记语言) 1.可以用来保存数据 2.可以用来做配置文件 3.数据传输的载体 &lt;?xml version="1.0" encoding="utf-8" standalone="no" ?&gt; version:解析这个xml的时候,使用什么版本的解析器解析 encoding:解析xml中的文字的时候,用什么编码来翻译(解...

syl2850246的博客 1299

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

XStream中设置编码、忽略没有关联属性和支持CDATA

一、设置编码 XStream中可以设置转换后的编码格式; XStream xStream = new XStream(new DomDriver(“GBK”)); 二、忽略没有关联的属性 “no such field”类似于这样的错误。 问题分析 我们在使用XStream对象时,一般都会直接new一个对象出来,例如 XStream xstream = new XStream(); 1 这样使用之后...

生命的意义在于创造和毁灭 3233

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

XML 全篇讲解

XML技术应用与中文处理摘要 XML作为一种标准化标记语言,在Web服务、数据交换和文档管理等领域具有广泛应用。其核心特性包括:支持自定义标签和属性结构,通过UTF-8编码完美兼容中文处理;命名空间机制避免词汇冲突;CDATA区块可原生存储中文HTML内容。关键技术如DOM解析适合中小型中文文档操作,SAX/StAX则用于大数据处理,XSLT实现中文内容格式转换。实际应用中,XML广泛用于电子商务(中文产品目录)、新闻聚合(RSS中文提要)等场景。注意事项包括:严格保持编码一致性(推荐UTF-8)、防范XX

likuoelie的博客 1034

Mybatis | 的Mapper.xml 中 CDATA 的作用

解释:被&amp;amp;amp;lt;![CDATA[]]&amp;amp;amp;gt;这个标记所包含的内容将表示为纯文本,比如&amp;amp;amp;lt;![CDATA[&amp;amp;amp;lt;]]&amp;amp;amp;gt;表示文本内容“&amp;amp;amp;lt;” 此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”&amp;amp;amp;lt;”、”&amp;amp;amp;gt;

Willian的博客屋 5117

Python的xml.dom.mindom在处理CDATA时候把空格解析为textnode

最近想用python写一个处理RSS的程序,其中有很多节点中的文本是属于CDATA,结果发现minidom在解析该节点时将空格解析为textnode。在google上搜了很久也没发现有问题,再次贴出来提醒大家,以后遇见问题,估计就能搜到这篇文章了。我的python是2.5.2。 xml内容如下: 

Alex Xu's blog 4838

xml格式异常-CDATA嵌套

今天代码解析一段XML时报错,经过检查发现里面有嵌套CDATA标志的情况,导致XML结构发生了变化,不能转换为xml对象了,百度下,找到下面的解决方案,测试下好使,分享下!   http://hi.baidu.com/yin_xiaogang/blog/item/f0f4a4ce3ef0c50592457e78.html   在CDATA内部的所有内容都会被解析器忽略。一个

z69183787的专栏 9788

xml之 CDATA介绍

CDATA - (未解析)字符数据 术语 CDATA 是不应该由 XML 解析器解析的文本数据。 像 " " "&" 会产生错误,因为解析器会把该字符解释为字符实体的开始。 某些文本,比如 JavaScript 代码,包含大量 " CDATA 部分中的所有内容都会被解析器忽略。 CDATA 部分由 "" 结束: function matchwo(a,b) { if (a

wml 1479
上一篇: XML学习笔记1 基础
下一篇: XML学习笔记3 XPath
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值