使用文本架构文件将文本转换为 XML
创建一个包含“textschema”步骤的程序集。获取将构成文本架构基础的示例文本。
“textschema”步骤让您能够使用文本架构将文本转换为 XML。要开发文本架构,您必须知道要转换的数据的结构。如果有一个包含代表性数据的小型示例文档,则可大大简化这个过程。本主题假设您有这样一个示例文档。
您可以使用“textschema”步骤将 XML 转换为文本,或者转换带分隔符的文件,但在大多数情况下,分别使用“XTT”步骤和“csv-to-xml”步骤会更简单。
- 在“textschema”步骤的“Properties”视图中,单击“Create Text Schema File”。
- 选择文本架构文件的父级文件夹并提供文件名。如果需要,指定目标命名空间 URI。
- Studio 打开文本模式编辑器,并在树状视图中显示新的文本模式。
- 将示例文本剪切并粘贴到文本架构编辑器右上方的区域中,将initial-text。要从输入文件中去除终止换行符,请将此属性添加到根架构元素:ts:eofStrip=" "。
- 开始描述示例文本。选择第一个字段,右键单击并选择“Create Field”。如果您没有要转换的文本示例,但知道其结构,则可以直接编辑文本架构的“Source”视图。
- 在“Create Field Wizard”的“Identity”页面上,提供字段的基本描述。完成此任务时,请参考以下信息:
选项 描述 名称字段的名称。Occurrence选项包括:- Default:字段为必填字段,且仅出现一次。
- Required:与默认选项相同。
- Optional:字段为可选字段,且只能出现一次。
- Multiple Optional:字段为可选字段,且可以出现多次。
- Multiple Required:字段为必填字段,且可以出现多次。
Start Tag一个正则表达式,其指定的文本会导致生成元素。请注意,与此表达式匹配的文本不是输出值的一部分。如果您希望在输出值中显示匹配的文本,请使用ts:format选项。结束标记一个正则表达式,其指定的文本用于标记元素的结束。请注意,与此表达式匹配的文本不是输出值的一部分。如果您希望在输出值中显示匹配的文本,请使用ts:format选项。截断指定是截断固定长度字段中的溢出数据,还是引发错误。默认值为true。分隔符一个正则表达式,其指定的字符用于分隔重复字段。仅当您选择“Multiple Optional”或“Multiple Required”出现次数选项后,此选项才会启用。Omit指定在“text-to-XML”或“XML-to-text”转换的输出中是否忽略字段。默认为不忽略。 - 在“Create Field Wizard”的“Delimit”页面上,描述示例文本中用于表示一个字段的字符数:
选项 描述 格式一个正则表达式,用于标识字段的有效文本模式。此表达式可用于替换“Start Tag”和“End Tag”,以确保在输出中显示所有匹配的文本。在处理多次出现的值时,您也可以使用此表达式,从而清楚知道序列何时结束。Fixed Length指定固定长度字段的长度。引号和转义字符包括在内。Quoted指示是否将字符串值视为带引号的字符串。选项包括:- Default:
- always:
- always-including-empty:
- optional:
- never:
Padding一个正则表达式,用于标识固定长度字段内的任何填充文本。Preferred Padding指定在“Padding”表达式可匹配多个可能的字符串时要使用的值。Align指定需要填充的固定长度字段的对齐方式。 - 在“Create Field Wizard”的“Interpret”页面上,描述示例文本中用于表示一个字段的字符数:
选项 描述 类型字段的数据类型。默认值字段的默认值。Date Format指定日期或日期时间模式。支持 Java 允许的任何模式SimpleDateFormat。日期语言指定在解释日期时使用的日期语言。确保当日期格式使用月份名称时,名称以相应的语言处理。默认值为EN。两位数年份指定用于解释 2 位数年份日期的值。文本模式解析器会将早于该值的 2 位数年份日期解释为在当前世纪中。示例:如果您输入18,则解析器会解释为14作为2014与96作为1996。数字格式指定数字模式。支持 Java 允许的任何模式DecimalFormat。小数分隔符指定用于十进制数字的分隔符。Grouping Separator指定数字的千位分组分隔符。 - 对示例文本中的每个字段重复第 6 步到第 9 步,从而在树状视图中添加新元素。创建所有必填字段定义后,删除剩余的。Unparsed子元素。
- 要将您创建的所有元素封装到一个复杂类型中,请选择这些元素,右键单击它们,然后选择“元素封装”。然后,为包装器元素提供名称和出现次数值。
- 在包装器元素的“属性”视图中,从“结束标记”下拉列表中选择“/n”。
- 默认架构根元素的名称为File。在元素“属性”视图的“架构”选项卡中,提供一个更有意义的名称。
- 在最高层级的“属性”视图中schema元素,则“根元素”属性的值为tns:File。替换File将其替换为您为根元素选择的有意义的名称。
- 如要从生成的输出中移除任何多余空格,请选择最高层级的“属性”视图。schema元素。从“填充位数”下拉列表中,选择“+”。保存架构。