我一直都在寻找各种业务功能的最简单写法,用减法的模式来开发软件。如果有比我的写法更简单的方法,请留言告知。 我们再使用的时候,往往需要包含这些特殊字符,要求保持这些特殊字符不变。 这个时候就需要用<![CDATA[ 我是保持不影响XML解析的特殊字符”<>’等 ]]
分类: QXML
QXML转义问题
我一直都在寻找各种业务功能的最简单写法,用减法的模式来开发软件。如果有比我的写法更简单的方法,请留言告知。 procedure TForm4.btn1Click(Sender: TObject); var MyQXML: TQXML; begin MyQXML := TQXML.Create; try m
[QXML] 更新:修正了根结点下添加多个子结点时,保存后恢复按原路径无法访问的问题
【问题描述】 问题是由于根结点有多个子结点时,为了保证 xml 的兼容性(XML 规范要求只能有一个根结点),所以人为添加了一个<xml>做为根结点。但在反过来时,未进行相应的处理造成的。一般不推荐在根结点下添加额外的内容。 【影响范围】 在根结点下添加了多个子项目的 XML 项目 【严重程度】 低 【更新
QXML 更新 – 修改 TQXMLNode.Clear 加入参数来决定是否同时清空属性
【更新说明】 * Clear 函数原来的实现是将属性和子结点一齐清空,但有时我们只需要清空结点而保证属性,所以为 Clear 函数增加了这么一个参数来决定是否清空结点的属性。如果为 True,则清空,否则不清空,默认为 True。 * 修正了 Encode 编码时,如果 ADoFormat 参数为 False 时依然会
QXML 更新 – 修改 QXML 在处理文本结点时的行为
【更新说明】 QXML 原来在处理文本结点时,如果 ADoFormat 参数为 True,则会在文本结点的前后加上换行及缩进处理,而部分 XML 解析器不会自动去掉前后的缩进,从而造成问题,所以修改该行为,不在前后加入换行及缩进处理。 【更新级别】 可选 【特别感谢】 阿木
重要更新 – QString 中 ParseNumeric 的一个低级错误影响QJson/QXML/QMsgPack
【问题描述】 该问题是由于解析浮点数字时,直接使用 ParseInt 解析浮点数的整数部分,因此在解析 -0.xxx 这种浮点数据时,会出现错误的解析结果。 【更新级别】 立即 【严重程度】 高 【特别感谢】 YZ
重要更新 – 请 QXML、QJson、QMsgPack、QLog、QWorker 用户更新
【问题描述】 该问题是由于 TQStringCatHelperW.Cat 函数在连接字符串时,计算需要的内存缓冲区大小不正确,可能造成构造较长的结果字符串时结果不正确,甚至可能出现 Access Volition 错误。问题发生在下面两个函数: function TQStringCatHelperW.Cat(p: PQ
QXML 更新 – 修正了转义符号落下单引号的问题
【问题描述】 在 XML 中包含单引号转义 ' 时,会无法正确转义。问题的原因在于 QString.pas 里的 HTMLEscapeChars 里丢失了该字符转义信息定义。 【严重程度】 高 【更新级别】 推荐 【特别感谢】 lionet
QDAC 更新 – 修正了多个模块与 2007 和 Android 编译的兼容性问题
【更新内容】 qstring 新增 NewId 函数,qcndate、qxml、qtimetypes、qmacros、qmapsymbols、qdigest、qworker 修正了与Delphi 2007 的兼容性问题。 修改完的兼容性测试结果如下(QDB在开发过程中,未做任何兼容性处理): 【更新级别】 可选 【特别
QXML 更新 – 增加了 Delete 函数的一个无参数重载用于删除结点自身
【更新说明】 增加了 Delete 函数的一个无参数重载用于删除结点自身,如果当前结点是根结点,则释放自身。 【更新级别】 可选 【特别感谢】 阿木
QXML更新-新增HasChild函数以简化编程
【更新说明】 HasChild函数用于判定当前结点下,是否存在指定路径的子结点,如果存在,则返回True,同时,通过AChild参数返回找到的子结点,如果失败,则返回False,等价于下面的代码: [Delphi] AChild:=AXML.ItemByPath(APath); if AChild<>nil
QXML更新-新增TQSoapXML类以提供对Soap格式的XML支持等更新
【更新内容】 1、新增TQSoapXML类,以简化对Soap格式的XML支持: TQSoapXML = class protected FRoot: TQXMLNode; FHeader: TQXMLNode; FBody: TQXMLNode; public ///<summary>构造函数</su
QXML更新-修正了MoveTo移动到一个没有子结点的结点时出错的问题
【问题描述】 由于TQXMLNode的FItems成员是按需创建的,而在MoveTo函数实现时未检查目标父结点的FItems成员是否已创建,直接添加造成AccessVolation错误。 修改代码加入对FItems是否已经分配的检查,以解决此问题。 【严重程度】 高 【更新级别】 建议 【特别感谢】 新心晨曦
QXML 更新 – 修正了移动节点时未检查自己是否是目标的父结点问题
【问题描述】 新增加的函数MoveTo在移动结点时,如果错误的将目标结点设置为自己的子结点,程序未报错但执行结果是错的。本更新解决这一问题,并会在发生这一情况时抛出异常,提示用户不能将自己移动到自己的子结点下。 【严重程序】 中等 【更新级别】 推荐
QXML更新-新增Remove/Detach/AttachTo/MoveTo函数
【更新内容】 1、新增Remove函数移除指定的子结点,与Delete的区别在于Remove并不会释放子结点,而只是将其从父结点中移除而已。 /// <summary>移除指定索引的结点</summary> /// <param name=”AIndex”>要移除的结点索引</
QXML更新-修正了五月光报告的一个参数未生效的问题
【问题描述】 QXML的LoadFromFile函数的AEncoding参数没有生效,造成从文件加载中,无法强制使用某一编码。虽然一般情况下智能判断拥有良好的表现,但在特殊情况下,通过指定编码在处理特殊情况时还是有用的。 【更新级别】 可选