问题标签 [openexi]
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.
java - 用于编码/解码 EXI 的 java 示例?
我正在寻找使用EXIficient或OpenEXI编码/解码EXI(高效 XML 交换)流的 Java 示例程序。
有人可以帮忙吗?我似乎找不到示例应用程序。
编辑:或者,如果有人可以向我指出允许我使用 EXIficient 或 OpenEXI 的文档,那将很有帮助。我找到了 javadoc,但我不知道要使用哪些类。
或者,正如@StaxMan 指出的那样,是否特别提到/讨论了与标准 XML API 之一一起使用的适当顶级类?
java - Nagasena/OpenExi:使用 < in 属性对 xml 进行编码
我在 C# 中实现了 Nagasena 编码器:
我在编码简单有效的 xml 女巫时遇到问题,包含 <> 或<>
:
它只是以 TransmogrifierException: Nagasena.Sax.TransmogrifierException: End of document is not expected 结束。
我正在使用 c# 实现,所以我在 java 实现中测试了问题 - 它运行良好。所以我试图改变一些选项,但没有任何帮助。
当我<Text><</Text>
用<Text><![CDATA[<]]></Text>
和从<Booo id="6001<" />
我删除<
-替换时<Booo id="6001" />
,编码成功。但是在属性中没有使用 cdata 的可能性,并且当它包含 <> 或者<>
它以错误结束时。
我将调试 nagasena 库,但如果有人有一些有用的建议,我将不胜感激。
谢谢
c# - 在 C#/.NET 中使用 OpenEXI 的 EXI 解码器
我不知道如何使用 C#/.NET 创建 EXI 解码器,它接受包含 EXI 有效代码的 MemoryStream 并简单地输出另一个包含 XML 代码的 MemoryStream。稍后我将使用自定义方法解析 XML 代码;我只使用 EXI 来实现最佳压缩性能和低内存占用。到目前为止,我已经找到了一些 Java 实现作为示例,但没有找到 C#/.NET 对应的实现;任何形式的提示都非常感谢。
xml - 使用 EXI:如何保存评论?
我尝试使用exificient-gui对 XML 文件进行编码/解码,但未保留原始 XML 文件中包含的注释。我使用了这些设置:
生成的 XML 文件(编码/解码后)不再包含 XML 注释。
然后我尝试对OpenExi做同样的事情,结果相同(= 没有评论)。
我也尝试过为 Exificient 和 OpenExi 提供的 Java 示例;再次没有评论。
- Exificient(或 OpenExi)GUI 保留评论的正确选项是什么?
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 输入文件的大小而增加?如果是这样,是否有一个简单的公式来计算所需的内存?
- 有什么办法可以让它工作(除了分配更多的内存)?