问题标签 [pyxb]
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.
xml - 如何让 Pyxb 不生成 xsi:type=string?
我们有一个使用 PyXB 生成 XML 文件以提交给我们的上游支付处理器的库,简化代码如下所示
生成的 XML 文档将如下所示
不知道为什么,但是我们的上游处理器不喜欢xsi:type="ns1:string"
任何元素的属性,所以它拒绝了我们的请求。我的问题是为什么 pyxb 模式会生成这个xsi:type
东西?我可以阻止它生成吗?
python - pyxb 将 vlaues 分配给具有已知类型的未绑定内部复杂元素的问题
我正在尝试将值分配给预定义类型的未绑定内部元素,但我无法验证它。这是我的报告.xsd 示例和不起作用的代码片段:...
我找不到与此类似的案例。我感谢您的帮助。马利卡
xml - 如何将内部 nillable 元素设置为 null
我正在尝试将一个名为 nbReports 的内部 nillable 元素设置为 null,但到目前为止我失败了。
XSD 文件的快照和代码如下:
代码快照:
如果我尝试将 nbReports 设置为任何值(例如 4)以创建 nbReprots 的实例,然后将其设置为 null,那么当我打印它时,nbReprots 的值将保持为 4。
namespaces - 从 pyxb 绑定创建命名空间字典?
有没有办法从 pyxb 绑定类创建命名空间字典?
xml - 使用xsd文件时如何避免在pyxb中创建匿名类
我正在尝试实现与某些 API 的连接。在通信过程中,我得到了有效载荷 xml 代码。他们提供了一个带有 xml 描述的 .xsd 文件。现在我想解析 xml 字符串并获得相应的类作为回报。这个功能似乎最好由 PyXB 实现。
为了创建 python 绑定,我使用了以下代码:
如果我在 python3 中导入 my_schema 并使用 my_schema.CreateFromDocument('some correctlooking xml'),对于某些类,它返回正确的类,对于某些类,它返回一些匿名类类型。变量都正确实现,意味着它们成为返回类的属性,但类的类型不正确。
这从源 my_schema.py 中很明显,因为类的类型设置为 CTD_ANON_XX。一些朋友在 C# 中实现了相同的功能,一切正常,所以 xsd 方案似乎没问题(并且消息来源建议它应该没问题)。
python 绑定适用于以下类:
但以下类型失败:
如前所述,该定义在 C# 中运行良好。这是 pyxb 中的错误还是 xml 定义有问题?我是否错过了有关 pyxb 使用的一些信息?谁能帮我?
我想避免玩弄方案定义。如果有新版本,我需要开始一遍又一遍地修复所有内容......
编辑:澄清一下:我们得到一个如下的 xml 标头:
我们现在想使用 pyxb 启动正确的类,然后从对象中读取发送了什么样的内容!?
所以从上面的例子中我们会期望(或希望)
返回其类型
或者至少有一个类型正确的属性......
python - 如何将 XML 文档解析为 Python 对象?
我正在尝试使用 XML API。我想要一些代表 XML 数据的 Python 对象。我有几个 XSD 和文档中的一些示例 API 响应。
- http://www.isan.org/schema/v1.11/common/common.xsd
- http://www.isan.org/schema/v1.21/common/serial.xsd
- http://www.isan.org/schema/v1.11/common/version.xsd
- http://www.isan.org/ISAN/isan.xsd
- http://www.isan.org/schema/v1.11/common/title.xsd
- http://www.isan.org/schema/v1.11/common/externalid.xsd
- http://www.isan.org/schema/v1.11/common/participant.xsd
- http://www.isan.org/schema/v1.11/common/language.xsd
- http://www.isan.org/schema/v1.11/common/country.xsd
这是一个示例 XML 响应:
我尝试简单地忽略 XSD 并使用lxml.objectify
从 API 获得的 XML。我遇到了命名空间的问题。必须使用其显式命名空间来引用每个子节点是一件非常痛苦的事情,并且不利于代码的可读性。
因此,我尝试generateDS
为我创建一些 Python 类定义。我丢失了这次尝试给我的错误消息,但我无法让它工作。它会为我给它的每个 XSD 生成一个模块,但它不会解析示例 XML。
我现在正在尝试pyxb
,到目前为止这似乎好多了。它生成的定义比(将它们分成多个可重用的模块)更好generateDS
,但它不会解析 XML:
无法识别的节点是<serial:serialHeaderType>
示例中的节点。查看pyxb
源代码似乎这个错误来自“如果顶级元素被处理为 DOM 实例”,但我不知道这意味着什么或如何防止它。
我已经失去了尝试探索这个的动力,我不知道下一步该做什么。
python - pyxb 的十进制数据类型丢失零
我注意到pyxb decimal
数据类型在呈现为 XML 时不会保留尾随零。罪魁祸首是normalize()
对函数以下行中的调用,即XsdLiteral
第 159 行binding/datatypes.py
:
(其中value
是 Python 的一个实例decimal
)。这对我来说有点问题,因为我尝试与之交互的 Web 服务需要表单的版本号,X.000
而 pyxb 将其截断为X.0
.
这是预期的行为吗?或某些标准要求?其他 XML 模式生成库是否也这样做?我现在的解决方案是string
改用,但如果它不破坏任何东西,代码将很容易更改。
python - 需要 PyXB 帮助
所以我使用 PyXB 创建了 python 绑定,以便创建一个基于 xsd 模式的 xml 文件。
这是架构:
我想做的是使用 pyxbgen 生成的模块创建一个 XML,但我不知道如何。pyxb 文档中的示例对我没有帮助。
我试图在这里发布模块,但它太大了。
谁能告诉我至少从哪里开始?
非常感谢!
python - 使用 PyXB 解析子节点
使用 PyXB,我想序列化一个子节点,然后能够将其解析回来。天真的方法行不通,因为根据架构,子节点不是有效的根元素。
我的架构:
和示例 XML:
我需要能够序列化特定项目,然后将其加载回来。像这样的东西:
这当然不起作用,因为item
根据架构不能成为根节点。有没有办法只解析一个子树,取回一个项目?
或者,是否有某种方法可以唯一标识子节点,以便我以后找到它?
python - Problems running pyxbgen
Running W10. Python3.2.3. Downloaded PyXB-1.2.4.tar.gz at a prompt ran "python setup.py install" Everything appears to be installed correctly. When I run pyxbgen I received file is not recognized... I search the drive only to find a file pyxbgen without an extension. I ran the setup process again, it looks like it validated the setup. What step did I miss? Why am I missing the executable?