1# ArkTS子系统变更说明 2 3## cl.arkts.1 convertXml模块convertToJSObject接口对于连续的CDATA标签解析行为变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11特定场景下,对于连续的CDATA标签数据进行解析时,会将连续两个CDATA数据错误地解析到同一个element中。 12 13**变更影响** 14 15修复BUG,将连续的CDATA标签的数据解析到不同的element中。 16 17**起始 API Level** 18 199 20 21**变更发生版本** 22 23OpenHarmony SDK 5.0.0.19 24 25**变更的接口/组件** 26 27convertToJSObject(xml: string, options?: ConvertOptions): Object; 28 29**适配指导** 30 31```ts 32let xml = '<?xml version="1.0" encoding="utf-8"?><![CDATA[ \t data\n]]><![CDATA[< > " and & \t ]]>'; 33let conv = new convertxml.ConvertXML(); 34let options = {trim : false, declarationKey:"_declaration", 35 instructionKey : "_instruction", attributesKey : "_attributes", 36 textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype", 37 commentKey : "_comment", parentKey : "_parent", typeKey : "_type", 38 nameKey : "_name", elementsKey : "_elements"} 39let result: ESObject = conv.convertToJSObject(xml, options); 40 41// 变更前: 42//let cdata = result._elements[0]._cdata; // cdata 为 ' \\t data\\n< > \" and & \\t ' 43 44// 变更后 45let cdata1 = result._elements[0]._cdata; // cdata1 为 '\\t data\\n' 46let cdata2 = result._elements[1]._cdata; // cdata2 为 '< > \" and & \\t ' 47``` 48 49该问题修复后的主要表现为:将连续的CDATA标签的数据解析到不同的element中。 50 51同时满足以下两个特定场景,开发者需要适配修改获取的_cdata数据: 521. 使用convertToJSObject进行解析xml数据。 532. xml数据中存在连续两个CDATA标签,且两个CDATA标签间没有空格、换行等字符的情况。 54