问题标签 [exi]

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 回答
334 浏览

xml - 如何从一个 XML 和几个 XSD 文件中创建一个 EXI 文件?

我正在使用EXIficient将 XML 数据转换为 EXI。它适用于 XML 和 XSD 对,但当我尝试使用由 2 个其他 XSD ( <xs:import namespace=...) 组成的 XSD 时不起作用,这些 XSD 本身由其他 XSD 组成。

我可以手动展平这些 XSD 吗?(这里的 XSD 新手,我读到使用<xs:import...flatten 应用程序不起作用。)

如果有人知道 EXIficient,是否可以使用多个 XSD?

0 投票
2 回答
596 浏览

java - 使用 EXIficient 在 XML 文件中缺少名称空间信息

我正在使用EXIficient将 XML 数据转换为 EXI 并返回 XML。在这里,我使用他们的EXIficientDemo 类。示例代码:

首先它将 xml 文件转换为 EXI,然后再转换回 XML,当它从先前生成的 EXI 文件生成 XML 时,它会丢失一些有关 Namespace 的信息。

实际 XML 文件:

EXIficient 生成的 XML 文件

在生成的 XML 文件中,缺少xmlns:tts="http://www.w3.org/ns/ttml#styling"

如何解决这个问题?如果可以,请帮助我。

0 投票
0 回答
315 浏览

c# - 在 C#/.NET 中使用 OpenEXI 的 EXI 解码器

我不知道如何使用 C#/.NET 创建 EXI 解码器,它接受包含 EXI 有效代码的 MemoryStream 并简单地输出另一个包含 XML 代码的 MemoryStream。稍后我将使用自定义方法解析 XML 代码;我只使用 EXI 来实现最佳压缩性能和低内存占用。到目前为止,我已经找到了一些 Java 实现作为示例,但没有找到 C#/.NET 对应的实现;任何形式的提示都非常感谢。

0 投票
1 回答
200 浏览

java - EXI 获取 JAXB 解组器

我想知道 JAXB 解组器的 EXI 等价物。

我查看了EXI示例,其中我成功获得了EXIFactory,设置了语法,获得了XMLReader。

然后该示例创建一个转换器来将 EXI 流转换为 XML 流。

但是,我不需要输出流。我只需要将未编组的结果保留为内存中的 POJO。我需要将结果直接解组 EXI。我正在使用 EXI marshall/unmarshall 作为文本 XML 的更快替代方案。

忘了说我使用的是哪个库。这里是:

0 投票
2 回答
426 浏览

javascript - 使用 javascript 解压缩 .exi 文件,反之亦然

我们如何使用 javascript 解压缩笔记本电脑中的 .exi 文件?你能告诉我怎么做吗?(也欢迎对任何具有相同示例的链接提出建议。)

详细问题:我有一个 .exi 文件(我从互联网下载了一个示例 .exi 文件)。我需要使用 javascript 将文件解压缩/解码为 XML 文件格式或 XML 字符串。我尝试使用https://github.com/EXIficient/exificient-for-javascript实现相同的功能。在此链接中,有一个演示应用程序http://exificient.github.io/javascript/demo/processXML.html ,我在其中提供了一个 .exi 文件来解析它并尝试对其进行解码。当我点击解码按钮时,它会返回一条消息在此处输入图像描述 它要求扩展名为“.xsd.grs”的 json 语法文件,我猜这似乎是模式文件。如果是这样,我们如何创建语法文件?我不知道该怎么做。我也需要学习如何使用 javascript 将 xml 文件转换为 .exi 文件。我希望这可以使怀疑更加清楚。请帮忙。

提前致谢。

0 投票
1 回答
333 浏览

xml - 使用 EXI:如何保存评论?

我尝试使用exificient-gui对 XML 文件进行编码/解码,但未保留原始 XML 文件中包含的注释。我使用了这些设置:

使用 Exificient GUI

生成的 XML 文件(编码/解码后)不再包含 XML 注释。

然后我尝试对OpenExi做同样的事情,结果相同(= 没有评论)。

我也尝试过为 Exificient 和 OpenExi 提供的 Java 示例;再次没有评论。

  • Exificient(或 OpenExi)GUI 保留评论的正确选项是什么?
0 投票
1 回答
556 浏览

xml - 使用 EXI:如何处理大型 XML 文件(~ 20 GB)?

我目前正在评估 EXI 以压缩大型 XML 文件。大是指 20 GB(二十)的 XML 文件。

EXI 压缩编解码器和非 EXI 压缩编解码器 (gzip/lzma) 都集成在 Java 虚拟机上运行的 Scala 应用程序中。GZIP 和 LZMA 由 commons-compress 提供。所有编解码器都在这些 3rd 方库中用 Java 实现。

在具有 8 GB(JVM 为 6 GB)的 64 位 Linux 系统上,当原始 XML 文件约为 10 GB 时,Exificient 和 OpenExi 都可以编码,但无法解码。

  • Exificient 因 OutOfMemory 而失败
  • OpenExi 失败并出现 ArrayIndexOutOfBoundsException: 1000000
  • GZIP/LZMA 没有问题

  • 甲骨文 JDK:1.8-8u40

  • JVM参数:-Xmx6g -XX:+UseG1GC -XX:+UseStringDeduplication

  • 生成的 EXI 编码 XML 文件的大小约为 70 MB

我的问题:

  • EXI 是否暗示(由于它的底层算法)内存使用量随着 XML 输入文件的大小而增加?如果是这样,是否有一个简单的公式来计算所需的内存?
  • 有什么办法可以让它工作(除了分配更多的内存)?
0 投票
1 回答
694 浏览

java - 在 SOAP UI 中拦截 SOAP 响应

网络服务返回

Base64 编码的字符串实际上是一个 EXI 编码的 XML。我知道如何解码 base 64,然后将 EXI 转换为 XML。让我们称之为 MyEXIEn​​coder.class(Java 类)

但是,我们目前有很多基于 XML 响应的 SOAP UI 测试用例。

目前唯一的方法似乎是添加一个可以调用我的 java 类类的 groovy 脚本,但这是一个额外的测试步骤,这意味着我必须编写一些脚本来更新我的 SOAP UI 测试用例。此外,我不确定我的断言将如何工作以及我的测试用例会有多少变化(我有数百个测试用例)

我需要一个方法

从我的测试步骤中截取 SOAP 响应,使用我的自定义类进行解码并将响应返回 SOAP UI,以便现有的断言可以工作。

任何帮助将不胜感激!

提前致谢。

0 投票
1 回答
268 浏览

xml - 在 Loadrunner 中拦截 SOAP 响应

网络服务返回

Base64 编码的字符串实际上是一个 EXI 编码的 XML。我知道如何解码 base 64,然后将 EXI 转换为 XML。让我们称之为 MyEXIEn​​coder.class(Java 类) 但是,我们目前有很多基于 XML 响应的 Loadrunner 测试用例(它们动态使用有效负载中的值传递给后续请求)

我需要一种方法来从我的测试步骤中拦截 SOAP 响应,使用我的自定义类进行解码并返回响应,以便后续步骤可以在现有脚本中工作。

任何帮助将不胜感激!

提前致谢。

0 投票
1 回答
59 浏览

exi - 找不到将 EXI 压缩作为有效负载的 http 客户端/服务器的代码示例

经过几天的研究,我找不到一个很好的例子来发送带有使用 EXI 压缩的数据的 http 请求的客户端。我试图在nodejs中自己做,但没有成功。我采取了以下示例: https ://github.com/EXIficient/exificient.js

但我没有成功执行这段代码,“EXIEn​​coder 不是构造函数”。有人可能会帮助我并向我展示一个基于 EXI 压缩 xml 并通过 HTTP 将其发送到服务器的客户端示例。请指教。