问题标签 [binary-xml]

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 投票
3 回答
124 浏览

android - 我的代码适用于小型设备,但不适用于 5 英寸以上的大屏幕设备

我的代码适用于小型设备,但不适用于 5 英寸以上的大屏幕设备。

布局文件夹结构如下:

例外是:

0 投票
0 回答
505 浏览

.net - 使用 MC-NBFX 的 XML 信息集的紧凑二进制编码?

Microsoft 实现了他们自己的紧凑型二进制 XML 编码 (MC-NBFX),这是 WCF 中的一个选项,用于比标准 XML 文本编码更有效地传送 XML 信息集(例如 SOAP 请求和响应)。

我想使用相同的编码,例如以紧凑的二进制形式将大型 XML 文件保存到磁盘。

我开始:

这确实输出了一个 MC-NBFX 格式文件,但是如果我用重复的字符串(例如元素名称)对 XML 文档进行编码,这些名称会在二进制文件中出现多次。

XmlDictionaryWriter 的意义在于它允许定义字符串字典并用字符串 ID 替换流中的字符串。实际上有两个字典,一个可以传递给 CreateBinaryWriter() 并且旨在成为预定/静态字典。我尝试插入这样一个静态字典,但编码器忽略了它:

第二种类型的字典是动态的,据说在编写过程中会添加字符串。要使用此机制,需要使用(并且可能覆盖)XmlBinaryWriterSession。例如:

同样,这对输出没有影响,仍然会出现重复的字符串,并且 XmlBinaryWriterSession 中的字典在写入完成后被视为空。我期望必须重写 XmlBinaryWriterSession 才能提取动态字典的内容,这样我就可以用编码的 XML 来传达那些内容(MC-NBFX 不涵盖这一点,我很高兴自己编码字典如果必要的)。

这些类的文档很少。它们是否打算以这种方式使用,如果是这样,我哪里错了?

谢谢。

0 投票
1 回答
305 浏览

java - EBML 序列化性能和 JAVA 中的现有库

目前正在探索提高相当传统的 SOAP Web 服务处理链的性能的方法,我正在寻找二进制 XML,尤其是 EBML。

第一个简单的问题:有没有比较 XML 和 EBML(或其他二进制 XML 替代方案)的参考性能评估?这种改变的目标显然是促进序列化、传输和解析,但我的(相当短的)搜索没有指出任何基准。

第二个后续问题:在 JAVA 中是否存在可靠的二进制 XML 开源实现?

谢谢。

0 投票
0 回答
432 浏览

wcf - WcfTestClient.exe 可以发送内容类型“application/soap+msbin1”的请求吗?

我正在尝试通过 WcfTestClient.exe 测试 Silverlight WCF 接口。但是,我从服务器收到以下消息:

HTTP/1.1 415 无法处理消息,因为内容类型为 'text/xml; charset=utf-8' 不是预期的类型 'application/soap+msbin1'。服务器:Microsoft-IIS/7.5 X-Powered-By:ASP.NET 日期:2014 年 10 月 28 日星期二 18:13:30 GMT 内容长度:0

我无法更改服务器配置。是否有任何工作回合?

0 投票
2 回答
1786 浏览

android - 二进制 XML 文件 - Google Map V2 (Android Studio) 中的类片段膨胀错误

我正在尝试将 Google Map V2 集成到我在 android studio 中的项目中。我在 build.gradle 文件中添加了 google play 服务作为依赖项,如下所示:

我还更改了我的AndroidManifest.xml文件,如下所示:

在我的视图布局中,我添加了一个片段。

在我的活动中,我创建了一个方法createMapView,如下所示:

我从我的 OnCreate 方法中调用了这个方法。当我尝试执行我的项目时,我发现了这样的错误:

我的目标 SdkVersion 是 21。知道如何解决吗?我找到了一些答案,但这些都没有帮助我。

0 投票
1 回答
293 浏览

android-layout - Android LayoutInflater:膨胀二进制布局 xml

我正在尝试动态扩展布局 xml 文件。该文件稍后应该来自服务器,因此 Android 应用程序(客户端)将下载它并加载布局。

我知道使用普通布局文件不可能做到这一点,因为出于性能原因,布局 xml 之前以某种方式进行了转换,而 LayoutInflater 仅适用于某种二进制 Xml。

现在我的问题。是否可以将“普通”布局 xml 文件转换为服务器上的二进制 xml 文件,然后将其发送到客户端,以便 LayoutInflater 可以从服务器加载二进制 xml?

感谢您提前提供任何帮助

0 投票
1 回答
3758 浏览

c# - 使用 XmlDictionaryWriter.CreateBinaryWriter 和 XmlDictionary 编写紧凑的 xml

我想以紧凑的格式将 xml 文档写入磁盘。为此,我使用了net framework方法XmlDictionaryWriter.CreateBinaryWriter(Stream stream,IXmlDictionary dictionary)

此方法编写一个自定义的紧凑二进制 xml 表示,以后可以由XmlDictionaryWriter.CreateBinaryReader. 该方法接受一个XmlDictionary可以包含公共字符串的字符串,这样就不必每次都在输出中打印这些字符串。字典索引将打印在文件中,而不是字符串。CreateBinaryReader以后可以使用相同的字典来反转该过程。

但是我通过的字典显然没有使用。考虑这段代码:

产生的输出是这样的(未显示二进制控制字符)

所以显然 XmlDictionary 没有被使用。所有字符串都完整地出现在输出中,甚至多次出现。

这不是仅限于 XDocument 的问题。在上面的最小示例中,我使用 XDocument 来演示问题,但最初我在使用 XmlDictionaryWriter 和 DataContractSerializer 时偶然发现了这一点,因为它是常用的。结果是一样的:

结果输出没有使用我的 XmlDictionary。

如何让 XmlDictionaryWriter 使用提供的 XmlDictionary?

还是我误解了它是如何工作的?

使用 DataContractSerializer 方法,我尝试调试网络框架代码(visual studio/options/debugging/enable net.framework source stepping)。显然,作家确实尝试在字典中查找上述每个字符串,正如预期的那样。但是,由于我不清楚的原因,在XmlbinaryWriter.cs 的第 356 行查找失败。

我考虑过的替代方案:

  • XmlDictionaryWriter.CreatebinaryWriter 有一个重载,它也接受 XmlBinaryWriterSession。然后编写器将它遇到的任何新字符串添加到会话字典中。但是,我只想使用静态字典进行读写,这是事先知道的

  • 我可以将整个东西包装成 aGzipStream并让压缩处理字符串的多个实例。但是,这不会压缩每个字符串的第一个实例,并且总体上看起来像是一个笨拙的解决方法。

0 投票
0 回答
388 浏览

sql - Oracle 12g XmlType 存储为二进制 XML(选择问题)

我正在尝试从 DB Oracle12g 中选择 XML。XML 存储在表中(XMLType 存储为二进制 XML),我无法使用 where 条件创建 Select 查询。我的问题是查询不返回任何记录。我正在使用 Oracle SQL Developer 4.1.0.19。

我的查询示例

表结构:

插入的 XML

XML 通过查询插入到 db 中:

0 投票
6 回答
16570 浏览

android - 膨胀类 ImageButton 时出错

我有一个应用程序,它有fragmentimage button。问题是它在 5.0 以上工作,5.0但不低于 5.0。最小 sdk 版本是 17。

不明白这里有什么问题。我有 2 个例外。

一是RuntimeExceptionimage button。第二个是ResourceNotFoundException工厂选择器文件。

日志:第一个异常——

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}:android.view.InflateException:二进制 XML 文件第 16 行:

膨胀类错误ImageButton

第二个例外——

引起:android.view.InflateException:二进制 XML 文件第 16 行:膨胀类 ImageButton 时出错

在线的 :

View view = inflater.inflate(R.layout.fragment_main, container, false); 的主要片段。

主要片段:

工厂选择器:

片段主要:

晶圆厂:

完整的堆栈跟踪:

你能告诉我这里有什么问题吗?

0 投票
0 回答
346 浏览

android - 充气机在模拟器上工作,但不在真实设备上

我对 android 应用程序开发相当陌生,我现在正在为我在 Android Studio 的教职员工项目做这件事(使用 API 23)。我会直奔主题:我正在开发的应用程序在我运行它时在模拟器上工作(没有显示任何致命错误),但是一旦我在实际设备上运行它,它就会崩溃并出现错误“二进制 XML 文件第 12 行:膨胀类片段时出错”。

完整的堆栈跟踪:

该活动的完整代码:

我的那个活动的布局文件:

显现:

请帮我解决这个错误,我将不胜感激。