Functions.CursorToXML 方法 |
命名空间: XSharp.VFP
FUNCTION CursorToXML( uArea, cOutput, nOutputFormat, nFlags, nRecords, cSchemaName, cSchemaLocation, cNameSpace ) AS USUAL CLIPPER
备注: |
---|
仅在将架构部署到XML数据位置以外的位置时使用此参数。 |
1CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, ; 2"mySchema.xsd", "http://www.microsoft.com/mySchema.xsd")
1xsi:noNamespaceSchemaLocation=" http://www.microsoft.com/mySchema.xsd"
备注: |
---|
CURSORTOXML( )的输出遵循游标索引顺序、Set Fields TO和当前筛选器设置。 |
1Create Table test (col1 b(6))
1Select orderid, EVL(shippeddate,.NULL.) as ShippedDate From orders
1Select orderid, IIF(EMPTY(shippeddate),{^1899-12-30 00:00:00},tc11);
标志16 | 标志32 | 设置标志32768 |
未设置 | 未设置 |
XML文档:Windows-1252。 Unicode数据:代码页1252。 字符数据:默认代码页,除非字段标记为NOCPTRANS。 |
True (.T) | 未设置 |
XML文档:加上游标的CodePage属性。 如果XMLField CodePage属性大于零(0)且与游标的代码页不匹配,则报告错误。 Unicode数据:游标对象的Code page属性。 字符数据:无。改用来自X#表(.dbf)的原始数据。 |
未设置 | 设置 |
XML文档:UTF-8代码页。 Unicode数据:UTF-8代码页。 字符数据:默认代码页,除非字段标记为NOCPTRANS, 在这种情况下不会进行额外的字符转换为UTF-8。 |
设置 | 设置 |
XML文档:UTF-8代码页。 Unicode数据:UTF-8代码页。 字符数据:默认代码页,除非字段标记为NOCPTRANS,在这种情况下,数据使用 SYS(3005)设置转换为UTF-8。 |
标志16 | 标志32 | 不带32768标志 |
未设置 | 未设置 |
XML文档:Windows-1252。 Unicode数据:代码页1252。 字符数据:默认代码页,除非字段标记为NOCPTRANS。 |
True (.T) | 未设置 |
XML文档:游标的CodePage属性。 字符数据:无。改用来自X#表(.dbf)的原始数据。 Unicode数据:游标对象的代码页属性。 |
未设置 | 设置 |
XML文档:UTF-8代码页。 Unicode数据:UTF-8代码页。 字符数据:默认代码页,除非字段标记为NOCPTRANS, 在这种情况下不会进行额外的字符转换为UTF-8。 |
设置 | 设置 |
XML文档:UTF-8代码页。 Unicode数据:UTF-8代码页。 字符数据:默认代码页,除非字段标记为NOCPTRANS,在这种情况下, 它们使用当前SYS(3005)设置的代码页转换为UTF-8。 |
nOutputFormat | 描述 |
---|---|
1 – ELEMENTS | (默认)以元素为中心的XML |
2 – ATTRIBUTES | 以属性为中心的XML |
3 – RAW | 通用的、以属性为中心的XML |
nFlags | 位 | 输出描述 |
---|---|---|
0 | 0000 |
(默认)以UTF-8格式生成XML。 当cOutput指定时,如果内存变量不存在,此设置会创建一个内存变量并将XML返回到该内存变量。 XML声明不包含Encoding=属性;也就是说,没有设置编码属性为UTF-8。 |
1 | 0001 | 生成未格式化的XML作为连续字符串。 |
2 | 0010 | 用开放和闭合元素包围空元素,例如,<cc04></cc04>。 |
4 | 0100 | 保留字段中的空白。 |
8 | 1000 | 将Memo字段包装在CDATA部分中。 |
16 | 10000 |
输出编码。输出设置为游标代码页。 为确保准确的字符转换,X#默认代码页必须与游标的代码页匹配。 您可以通过将游标中的字符和备注字段设置为NOCPTRAN(字符二进制/备注二进制)来实现这一点。 使用任何代码页的表设置此值时,XML中的编码属性设置为空字符串("")。要更改为正确的编码属性,请使用STRTRAN()函数。 例如,对于代码页936,为结果XML字符串提供以下内容: X# 1strxml=STRTRAN(strxml, 'encoding=""', 'encoding="gb2312"' |
32 | 100000 | 输出编码。 |
512 | 1000000000 | 输出到cOutput指定的文件。 如果文件不存在,则创建它。如果文件已存在,则覆盖它。遵守Set SAFETY的设置。 |
4096 | 1000000000000 |
禁用base64编码。 CURSORTOXML()将Memo(二进制)字段导出为xsd:base64binary,除非您使用nFlags设置为4096。 在X#中,base64编码仅用于编码二进制数据。 |
32768 | 无 | 指示应使用代码页。 |
备注: |
---|
通过组合第4位和第5位(0010000)设置编码标志。 |
编码标志 | 第4位和第5位 | 描述 |
---|---|---|
+0 | 00 | (默认)Windows-1252 |
+16 | 01 | 将输出编码属性设置为游标代码页。 |
+32 | 10 | 将输出编码属性设置为UTF-8,不进行字符转换。 |
+48 | 11 | 将输出编码属性设置为UTF-8,并将字符数据转换为UTF-8。 |
代码页 | 平台 | XML声明中的编码属性 | 注释 |
---|---|---|---|
437 | MS-DOS,美国 | ibm437 | |
850 | MS-DOS,国际 | ibm850 | |
865 | MS-DOS,北欧 | 空字符串 ("") | |
866 | MS-DOS,俄罗斯 | cp866 | |
932 | Windows,日语 | shift-jis | |
936 | 简体中文 | gb2312 | |
949 | Windows,韩语 | iso-2022-kr |
或: ks_c_5601-1987 |
950 | Windows,繁体中文(台湾) | big5 | |
1250 | Windows,东欧 | Windows-1250 | 注意大小写。 |
1251 | Windows,俄罗斯 | Windows-1251 | |
1252 | Windows,美国,西欧 | Windows-1252 | |
1253 | Windows,希腊 | Windows-1253 | |
1254 | Windows,土耳其 | Windows-1254 | |
1255 | Windows,希伯来 | Windows-1255 | |
1256 | Windows,阿拉伯 | Windows-1256 |
备注: |
---|
X#使用Windows-1252作为默认编码。使用双字节字符集(DBCS)时,您可以指定将编码属性设置为匹配代码页, 例如Big5(代码页950),用于X#支持代码页的DBCS语言。 |
cSchemaName | 描述 | ||
---|---|---|---|
cSchemaName |
指定架构的外部文件的名称和路径(限定于XML的根元素)。
X# 1CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, "mySchema.xsd") | ||
"1" |
指定生成内联架构。例如,以下代码生成内联架构:
X# 1CURSORTOXML("LABELS", "myXMLFile.xml", 1, 512, 0, "1") | ||
"" | 指定不生成架构。 |