从 XSD 创建 Golang 结构

我想从 XSD(结构 XSD)创建一个 Golang 结构。

我已经阅读了推荐使用 go-xsd 的从 XSD 生成 Go 结构的帖子,但是我已经下载了 go-xsd 并安装了 xsd-makepkg,但我无法生成我的结构。

我在做什么?

xsd-makepkg -basepath="/Users/XSD_Access/" -goinst=false

-xsd-makepkg:它是从go-xsd-pkg创建的二进制文件
-basepath:包含我想要转换为结构的结构 XSD 的路径。-goinst :我还没有安装 go-buildrun,我认为它不是必需的,因为这个原因是 ser false

命令的结果是什么?

一个文件夹($GOPATH/usr/Users/XSD_Access/),其中包含带有所有关注者 XML 包装器的其他文件夹

  • docbook.org

  • docs.oasis-open.org

  • kbcafe.com

  • khronos.org

  • schemas.opengis.net

  • 英国建筑师公司

  • 用户

  • www.w3.org

结构 XSD

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

   <xs:element name="Request" type="Request"/>

   <xs:complexType name="Request">

      <xs:annotation>

         <xs:documentation xml:lang="sp"><![CDATA[

        Comment xxxxx

     ]]></xs:documentation>

  </xs:annotation>

  <xs:sequence>

     <xs:element name="idOne" type="xs:string" minOccurs="0" maxOccurs="1">

      <xs:annotation>

     <xs:documentation xml:lang="sp"><![CDATA[Comment xxxxx

     ]]></xs:documentation>

      </xs:annotation>

    </xs:element>

         <xs:element name="idTwo" type="xs:string" minOccurs="0" maxOccurs="1">

  <xs:annotation>

     <xs:documentation xml:lang="sp"><![CDATA[Comment xxxxxx

     ]]></xs:documentation>

  </xs:annotation>

</xs:element>

  </xs:sequence>

   </xs:complexType>

</xs:schema>

谁能告诉我我做错了什么或者我错过了什么步骤它不允许我从我的 Structure XSD 创建结构?


繁星点点滴滴
浏览 172回答 2
2回答

冉冉说

xsd-makepkg 期望从某种网络服务器下载 xsd 文件。起初我也对此感到困惑,因为文档提到从本地文件构建,但只有在指定的文件已经下载时才有效。-basepath="" 确定这些文件将下载到哪里,以及生成的 .go 文件将放置在哪里你要找的是-uri=""论据。-uri=""确定要下载和处理哪些文件。该参数采用空格分隔的 uri 列表,并且http://是可选的。使其与本地文件一起工作的一种快速而肮脏的方法是从本地 Apache 实例提供文件,然后将程序指向 localhost。这当然是假设您碰巧有一个 Web 服务器正在运行。例如:mv *.xsd /var/www/htmlcd /var/www/htmlfor xsd in *; do xsd-makepkg -uri="127.0.0.1/$xsd"; done
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go