其他 Windchill 功能 > Windchill PartsLink > 分类管理 > 分类结构 > 从 CSV 文件中导入分类结构
  
从 CSV 文件中导入分类结构
要导入分类结构,必须在 XML 文件中概要显示分类结构。您可以在导入前修改 XML 文件,但如果您的结构复杂,则完成该操作并不轻松。
相反,管理 CSV 文件更为容易。当您准备导入结构时,可使用 CSVToXMLGenerator 实用程序将 CSV 文件转换为可导入 XML 文件。
* 
PTC 建议您在创建初始分类结构时使用此实用程序。不应使用此实用程序更新现有结构。将覆盖并移除所有未在 CSV 文件中表示的现有结构中的数据。
要将 CSV 文件转换为 XML,从 Windchill shell 中执行以下命令:
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <CSV 文件的路径> -verbose
其中:
<CSV 文件的路径> 为您本地计算机上 CSV 文件的路径。
verbose 参数为可选参数,用于进行调试。
生成的 XML 文件与 CSV 文件的名称和位置相同。


事前准备
使用 CSVToXMLGenerator 实用程序无需运行 Windchill 服务器。
导入的 CSV 文件格式必须唯一。此格式和使用“分类树”表格中“导出为 CSV”操作生成的 CSV 文件格式不相同。
在加载生成的 XML 文件之前,Windchill 中应已存在以下内容。(导入导出的 ZIP 或 JAR 文件时不适用。)
全局枚举
可重用属性
测量数量
要导入生成的 XML 文件,请将其压缩为 ZIP 文件。从“分类树”中选择“操作” > “导入”


导入错误和支持的值
将文件导入至 Windchill 时将对数据进行验证。如果 XML 文件中包含无效数据或值,则在导入操作期间您将收到一个错误。
尽管使用 CSV 文件更容易,但 CSVToXMLGenerator 实用程序所接受的格式包括多个限制。例如,您无法导入示意图或图像。您也无法指定自动命名规则。
如果属性或限制未在下表中列出,则表示该属性或限制不受支持,导入期间将产生错误。


CSV 格式规则
如果单个值包含逗号,则必须使用双引号将其括起。例如:
Hong Kong, Berlin, "New York, NY", London
使用双引号转义双引号。例如:
Parts available in the ""Drive System"" catalog


节点和属性共享列
共有 7 个包含节点或属性信息的列。这些列使用下列格式:
Node/Attribute
斜杠前的标题指分类节点;斜杠后的标题指分类属性。
列名称
节点值
属性值
Node/Attribute
此列将行标识为包含分类节点或分类属性。
输入下列值之一:
节点
属性
ParentIntName/NodeIntName
父节点的内部名称。
* 
使用 NULL 标识根节点。
正在为其定义属性的节点的内部名称。
NodeIntName/AttributeIntName
节点的内部名称。
属性的内部名称。
DisplayName/DisplayName
节点的显示名称。
属性的显示名称。
Description/IBAName
“说明”字段中输入的节点值。
可重用属性名称。
Keywords/DataType
“关键字”字段中输入的节点值。
属性的数据类型。
接受以下值:
wt.units.FloatingPointWithUnits
java.lang.Boolean
java.sql.Timestamp
java.lang.Long
java.lang.String
com.ptc.core.meta.common.Hyperlink
com.ptc.core.meta.common.FloatingPoint
名称空间
为名称空间设置的名称
IsInstantiable/Description
“可实例化”字段中输入的节点值。
接受以下值:
TRUE
FALSE
“说明”字段中输入的属性值。
例如,您使用 "Node" 行中的以下值创建 CSV 文件:
* 
CSV 文件中的列排列必须相同,如以上屏幕截图所示。
将 CSV 转换为 XML 并导入后,会生成以下结构:
"Threaded Insert" 节点定义有以下值:
属性列
以下各列仅适用于 "Attribute" 行:
列名称
可接受的值
DefaultValue
该属性的默认值。
对于多个默认值,请使用以逗号分隔的列表。例如:
0.0 m, 1.5 m
http://google.com(Google), http://ptc.com(PTC)
IsSingleValued
指定属性是否具有单个值。
可接受的值:
TRUE
FALSE
IsRequired
指定属性是否为必填属性。
可接受的值:
TRUE
FALSE
StringLength
指定字符串值的长度约束。
请使用下列格式:[下限,上限]
例如:
[2,5] - 字符串长度必须在 2 到 5 个字符之间
[NULL,50] - 字符串长度不得超过 50 个字符
[10,NULL] - 字符串长度必须至少为 10 个字符
小写
将大写字符转换为小写字符。
可接受的值:
TRUE
FALSE
大写
将小写字符转换为大写字符。
可接受的值:
TRUE
FALSE
LegalValueList
可接受值的列表。
使用竖线 ("|") 分隔值。例如:
1.0 m|1.5 m|2.0 m
Copper|Aluminum|Steel
EnumeratedList
枚举值列表。您可提供局部或全局枚举值列表。
局部枚举约束使用下列格式:
LOCAL##<排序类型>##<内部名称>##<显示名称>~~<内部名称>##<显示名称>
其中:
<排序类型> - 排序类型值为 Automatic_SortManual_Sort
<内部名称>##<显示名称> - 标识枚举条目的内部名称和显示名称。
~~ - 使用两个波浪线字符来分隔多个条目。
例如:
LOCAL##Manual_Sort##red1##Light Red~~red2##Dark Red~~green1##Light Green
全局枚举约束使用下列格式:
GLOBAL##<枚举>##<父枚举>##<组织>##<组织器名称>##/<域>
其中:
<枚举> - 枚举的内部名称。
<父枚举> - 如果枚举为子枚举,指定其父枚举的内部名称。如果枚举不具有父枚举,将此字段留空。
<组织> - 枚举的“拥有组织”值。
<组织器名称> - 持有枚举的组织器的内部名称。
<域> - 枚举的“域”值。
例如:
GLOBAL##Countries##LocaleCodes##Site##Org_Locales##/System
GLOBAL##LocaleCodes####Site##Org_Locales##/System
* 
默认使用的排序顺序为对全局枚举指定的排序顺序。
例如,使用 "Attribute" 行中的以下值创建 CSV 文件:
* 
CSV 文件中的列排列必须相同,如以上屏幕截图所示。
"Threaded Insert" 定义有以下属性: