You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XSD文件中的类型枚举信息提取至指定格式电子表格?

高效提取XSD枚举数据到表格的方法

方法1:用Excel Power Query(适合Excel用户,无需额外工具)

因为你已经熟悉Excel,Power Query是最直接的方案,步骤如下:

  1. 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「从文件」→ 「从XML」,选择你的XSD文件。
  2. 在Power Query编辑器中,找到所有simpleType节点(对应XSD里的xsd:simpleType),点击展开按钮(🔽),选择展开name属性和内部的restriction节点。
  3. 展开restriction里的enumeration列表,得到一行对应一个枚举项的结构。
  4. 展开每个enumeration的value属性和内部的annotation→documentation节点,提取文本内容。
  5. 重命名列名为「Name」「Value」「Description」,最后点击「关闭并上载」,即可生成目标格式表格。

方法2:用XSLT转换生成CSV(适合批量处理)

XSD本质是XML格式,可通过XSLT样式表直接转换为CSV文件,步骤:

  1. 创建新文本文件,粘贴以下代码,保存为xsd-enum-to-csv.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsl:output method="text" encoding="UTF-8"/>
  <xsl:template match="/">
    <xsl:text>Name|Value|Description&#10;</xsl:text>
    <xsl:for-each select="//xsd:simpleType">
      <xsl:variable name="typeName" select="@name"/>
      <xsl:for-each select="xsd:restriction/xsd:enumeration">
        <xsl:value-of select="$typeName"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="@value"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="xsd:annotation/xsd:documentation"/>
        <xsl:text>&#10;</xsl:text>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>
  1. 使用支持XSLT转换的工具(如VS Code的XML插件、本地XML处理器Saxon),将XSD文件与该XSLT文件结合,生成CSV后直接用Excel打开即可。

方法3:用Python脚本(适合超大量数据)

如果数据量极大(上万条级别),Python脚本处理效率更高,步骤:

  1. 安装解析XML的lxml库:pip install lxml
  2. 创建Python脚本parse_xsd_enum.py,粘贴以下代码:
from lxml import etree

# 加载目标XSD文件
tree = etree.parse("你的XSD文件路径.xsd")
ns = {"xsd": "http://www.w3.org/2001/XMLSchema"}

# 初始化输出内容
output_lines = ["Name|Value|Description"]

# 遍历所有枚举类型节点
for simple_type in tree.xpath("//xsd:simpleType", namespaces=ns):
    type_name = simple_type.get("name")
    # 遍历每个枚举项
    for enum_item in simple_type.xpath(".//xsd:enumeration", namespaces=ns):
        enum_value = enum_item.get("value")
        enum_desc = enum_item.xpath(".//xsd:documentation/text()", namespaces=ns)[0]
        output_lines.append(f"{type_name}|{enum_value}|{enum_desc}")

# 写入CSV文件
with open("enum_output.csv", "w", encoding="utf-8") as f:
    f.write("\n".join(output_lines))
  1. 替换脚本中的XSD文件路径,运行脚本后,生成的enum_output.csv可直接用Excel打开。

内容的提问来源于stack exchange,提问作者Joe Squalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:05:56