问题标签 [python-generateds]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xsd - 如何正确使用 GenerateDS 进行 DDEX XML 绑定
我对用于读取符合此架构的输入文件的 Python XML 绑定感兴趣:http: //ddex.net/xml/ern/341/release-notification.xsd
不过,此 XSD 依赖于许多其他 XSD,最重要的是:http: //ddex.net/xml/20120404/ddexC.xsd和 http://ddex.net/xml/20120404/ddex.xsd
我的第一次尝试是使用generateDS。如果我使用 --no-process-includes ,我能够成功地为 release-notification.xsd 生成绑定:
但是,这给我留下了一个几乎没用的 Python 对象,因为大多数 ComplexTypes 是在ddexC.xsd中定义的。
如果我在没有 --no-process-includes 的情况下尝试它,我会得到:
所指的定义是这样的:
因此,似乎 ddex 和 ddexC 命名空间以某种方式混合在一起,并创建了一个循环引用。
这里有什么建议吗?
python - 什么版本的 generateDS 用于 Python 3.0.0?
我使用generateDS2.12a通过 XML 模式文件创建了 Python 类。我正在使用这些类来创建 XML 文件。我的模块适用于 Python 2.7 环境。
现在,由于某种原因,我的环境更改为 Python 3.0.0。现在,当我尝试导出 XML 对象时,它会抛出以下错误:
功能:export(self, outfile, level, namespace_='', name_='rootTag', namespacedef_='', pretty_print=True)
错误:s1 = (isinstance(inStr, basestring) and inStr or NameError: global name 'basestring' is not defined
在 Python 3.0.0 或用于 Python 3.0.0 的新版本 GenerateDS 中导出 XML 需要做一些更改吗?
python - 验证从 generateDS 创建的 Python 类
我有几个 XSD 有时会发生变化。
我过去常常用硬编码编写我的 XML 文件,因此每次更改 XSD 时,我都必须搜索依赖于该 XSD 的 XML 文件。
这就是我转向 generateDS(2.15b 版)的原因。
我使用 generateDS 编写了一个脚本,这样每次更改 XSD 时,generateDS 脚本都会运行并生成类。
生成的类用作我检查 XML 是否适合的“结构”。
例如,如果我有这个作为我的 XSD:
我正在创建这个类:
有没有办法pot
使用 XSD 验证实例 ( )?(对于这个例子,pot 不是一个有效的 xml,因为它没有 'ShipTo' 元素,我们没有 'country' 属性和其他元素)
python - generateDS 停止处理子元素
我有一个描述电子发票结构的 xml 模式。我已经使用带有generateDS的模式来为该格式创建解析器。在解析发票时,它似乎工作正常,但是在任何类型的内容的部分,它会停止处理出现这些元素的子项。
描述任何元素的模式的一部分:
我使用解析器的实现的相关部分:
部分有效载荷 XML:
和该代码的输出:
CustomContent 有省略标签,表示对象结构到此结束。我也尝试过export()
整个文档,它也有同样的情况。
所以这是部分:
没有出现在 Python 对象树中。
当我查看与架构匹配的生成库时,CustomContent 类的相关部分:
它使用gds_build_any()
方法,而不是创建从模式生成的新类实例(也不存在)。
使用 Suds 时,我可以访问任何元素及其内容,但它会在其他地方中断。
有没有办法配置 generateDS 以便它:
- 为所有模式的元素创建类?
- 将这些类用于整个文档?
python - 在 Python 的面向对象编程中 self 如何工作?
我正在从 XSD 模式文件的子集生成示例 XML。我已经使用 GenerateDS 生成了数据对象。我实例化了父对象,并使用带有反射的递归来填充所有子对象,这样我就可以写出这个父对象及其所有子对象的 XML。稍后,我想用测试数据填充所有数据属性以创建我的测试 XML。
我的 XSD 生成的代码 GenerateDS 有问题。我不确定这是否是我对 Python 中的面向对象编程缺乏了解,或者它是否是库的问题,也许有人可以帮助我。这就是问题所在。当我运行导出方法时,它执行
self.exportChildren(outfile, level + 1, '', namespacedef_, name_='requestHeaderType', pretty_print=pretty_print)
并将文件对象传递到 outfile 并且 level 是 at0 + 1
但问题是当 exportChildren 执行时,这里是参数,
self.Header.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Header', pretty_print=pretty_print)
标头导出方法中的参数 outfile 采用 level 的值。
标头导出的方法签名是export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Header', pretty_print=True):
我之前在 Python 中创建了类,当我调用类方法时,self 参数将被跳过,我传递给方法调用的第一个参数将是 self 参数之后的下一个参数。但是,在这种情况下,方法调用会用 outfile 覆盖 self ,并且我的 Header 对象变成了 File 对象。这很奇怪,我不明白为什么会发生这种情况。
我一直在我的 Visual Studio Code 调试器中使用 Python 3.6 在 Anaconda 上运行它。
这是我创建的代码。
这是我运行此脚本时的输出:
我希望方法调用跳过 self 参数,但它实际上是为 self 赋值,它用 File 对象覆盖它。
python - 如何修复 generateDS 错误:“找不到在 <_io.BufferedReader name='some_name.xsd'> 中引用的文件 TObject.xsd。”
我正在使用 generateDS ( http://www.davekuhlman.org/generateDS.html ) 通过一些 XSD 创建 python 类,然后用 python 创建不同的 XML 文件。它适用于一些简单的 XSD 文件,但是当我尝试我需要的文件时,它给了我一个错误“process_includes.SchemaIOError: Can't find file TObject.xsd referenced in <_io.BufferedReader name='shipporder.xsd'> ."。
其实我不知道如何解决它。
python-3.x - 使用 generateDS 通过 xsd 生成 XML 请求
我想 a) 生成 XML 请求 b) 并解析响应
基于我从其中一个 OEM 获得的架构(.xsd)。
我在网上进行了研究,generateDS 似乎是我正在寻找的那个,但是我正在努力让它发挥作用。
我能够生成 Python 类,但是我不确定这是否是正确的方法。
我正在尝试使用从 XSD 创建的 python 模块在运行时生成 xml 请求,这种方法对于生产应用程序是否正确。或者我应该通过 xml.etree.ElementTree 生成 xml 请求(我知道在后台 generateDS 也在使用它)。
当我实例化一个类时,它不会生成完整的 xml 输出。
最终结果应该是这样的:
我是否正确使用它?
python - 如何将Python中的初始化对象序列化为XML?
我对python很陌生。我现在如何在 Java 中编组/解组对象。我正在寻找类似我们在 Java 中所做的事情。喜欢:
其中 Request1 有 @XmlRootElement 注释。
我不想写多个元素、子元素等,因为我有非常复杂的 xsd 结构。我想通过generateDS从xsd生成类,然后从数据库初始化它并序列化为xml文件
我看到了 pyxser,但它只在 python 2 上。哪些模块可以帮助我?谢谢
python - 如何使用 python 解析 xsd 并从中创建 XML?
我是 python 的初学者,我有任务将 xsd 模式解析为 python 代码,用值填充节点并从中创建最终的 XML 文件。可以使用 generateDS 工具吗?我在文档中找不到明确的答案。也许还有另一种方法可以做到这一点?感谢回答者
python - 使用 Generateds 和外部引用解析 xml
xml 是有效的,我得到的错误是当我尝试使用 Generateds 生成的类解析 xml 时。
因此,我正在为具有外部 xmlns 的 xsd 生成类。我以这种方式生成类:
我生成了一个简约的 xml 来验证 xsd 并且 xml 验证了架构(我使用 lxml 验证它)
因此,当我尝试解析 xml 时会发生错误。并且仅当我包含外部参考的元素时。它给了我下一个错误:
TypeError:预期的字符串或类似字节的对象
我尝试在创建类时使用 --namespacedef= 但错误是一样的。
解析 xml 所需的外部“类型”在 .py 中生成。
我读到“一个人”可能是一个解决方案,但我不太明白。
xml:
xsd: