问题标签 [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.

0 投票
1 回答
386 浏览

xml - 如何让 Pyxb 不生成 xsi:type=string?

我们有一个使用 PyXB 生成 XML 文件以提交给我们的上游支付处理器的库,简化代码如下所示

生成的 XML 文档将如下所示

不知道为什么,但是我们的上游处理器不喜欢xsi:type="ns1:string"任何元素的属性,所以它拒绝了我们的请求。我的问题是为什么 pyxb 模式会生成这个xsi:type东西?我可以阻止它生成吗?

0 投票
1 回答
184 浏览

python - pyxb 将 vlaues 分配给具有已知类型的未绑定内部复杂元素的问题

我正在尝试将值分配给预定义类型的未绑定内部元素,但我无法验证它。这是我的报告.xsd 示例和不起作用的代码片段:...


我找不到与此类似的案例。我感谢您的帮助。马利卡

0 投票
1 回答
256 浏览

xml - 如何将内部 nillable 元素设置为 null

我正在尝试将一个名为 nbReports 的内部 nillable 元素设置为 null,但到目前为止我失败了。

XSD 文件的快照和代码如下:

代码快照:

如果我尝试将 nbReports 设置为任何值(例如 4)以创建 nbReprots 的实例,然后将其设置为 null,那么当我打印它时,nbReprots 的值将保持为 4。

0 投票
1 回答
153 浏览

namespaces - 从 pyxb 绑定创建命名空间字典?

有没有办法从 pyxb 绑定类创建命名空间字典?

0 投票
1 回答
489 浏览

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 启动正确的类,然后从对象中读取发送了什么样的内容!?

所以从上面的例子中我们会期望(或希望)

返回其类型

或者至少有一个类型正确的属性......

0 投票
2 回答
1177 浏览

python - 如何将 XML 文档解析为 Python 对象?

我正在尝试使用 XML API。我想要一些代表 XML 数据的 Python 对象。我有几个 XSD 和文档中的一些示例 API 响应。

这是一个示例 XML 响应:

我尝试简单地忽略 XSD 并使用lxml.objectify从 API 获得的 XML。我遇到了命名空间的问题。必须使用其显式命名空间来引用每个子节点是一件非常痛苦的事情,并且不利于代码的可读性。

因此,我尝试generateDS为我创建一些 Python 类定义。我丢失了这次尝试给我的错误消息,但我无法让它工作。它会为我给它的每个 XSD 生成一个模块,但它不会解析示例 XML。

我现在正在尝试pyxb,到目前为止这似乎好多了。它生成的定义比(将它们分成多个可重用的模块)更好generateDS,但它不会解析 XML:

无法识别的节点是<serial:serialHeaderType>示例中的节点。查看pyxb源代码似乎这个错误来自“如果顶级元素被处理为 DOM 实例”,但我不知道这意味着什么或如何防止它。

我已经失去了尝试探索这个的动力,我不知道下一步该做什么。

0 投票
2 回答
136 浏览

python - pyxb 的十进制数据类型丢失零

我注意到pyxb decimal数据类型在呈现为 XML 时不会保留尾随零。罪魁祸首是normalize()对函数以下行中的调用,即XsdLiteral第 159 行binding/datatypes.py

(其中value是 Python 的一个实例decimal)。这对我来说有点问题,因为我尝试与之交互的 Web 服务需要表单的版本号,X.000而 pyxb 将其截断为X.0.

这是预期的行为吗?或某些标准要求?其他 XML 模式生成库是否也这样做?我现在的解决方案是string改用,但如果它不破坏任何东西,代码将很容易更改。

0 投票
1 回答
304 浏览

python - 需要 PyXB 帮助

所以我使用 PyXB 创建了 python 绑定,以便创建一个基于 xsd 模式的 xml 文件。

这是架构:

我想做的是使用 pyxbgen 生成的模块创建一个 XML,但我不知道如何。pyxb 文档中的示例对我没有帮助。

我试图在这里发布模块,但它太大了。

谁能告诉我至少从哪里开始?

非常感谢!

0 投票
2 回答
430 浏览

python - 使用 PyXB 解析子节点

使用 PyXB,我想序列化一个子节点,然后能够将其解析回来。天真的方法行不通,因为根据架构,子节点不是有效的根元素。

我的架构:

和示例 XML:

我需要能够序列化特定项目,然后将其加载回来。像这样的东西:

这当然不起作用,因为item根据架构不能成为根节点。有没有办法只解析一个子树,取回一个项目?

或者,是否有某种方法可以唯一标识子节点,以便我以后找到它?

0 投票
1 回答
1421 浏览

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?