格式化 XML 的十进制值

2024-02-26

我目前遇到一个问题,我们连接的系统期望接收 XML,其中包含三个格式化为小数点后一位的双精度字段。就我个人而言,我认为我们的系统应该能够以默认格式发送值,然后由其他系统根据需要格式化自己的表示形式,但可惜这似乎不是一个选项。

我的基于 Java 的系统当前正在通过使用 XStream 将对象转换为 XML。我们有一个伴随 XML 的 XSD,并将各种元素定义为字符串、双精度、日期时间等。

我有三个双精度字段,其中包含 12.5、100.123、5.23445 等值。现在它们几乎按原样转换为 XML。我需要将这些值在 XML 中格式化为小数点后一位; 12.5、100.1、5.2 等

我简要地想出了实现这一目标的选项:

  • 在将这些值传送到 XML 之前,Java 会以某种方式将这些值格式化为这种精度。也许 NumberFormat 可以做到这一点,尽管我认为这主要用于字符串输出。
  • 希望XSD能为我做这件事;我知道您可以在 XSD 中对精度进行限制,但我不确定它是否实际处理舍入本身,或者只是说“123.123 的值对此模式无效”?
  • 使用 XSLT 以某种方式为我完成此任务。

我想请大家集思广益,看看在这种情况下使用什么是“可接受的”方式/最佳实践。

谢谢, 戴夫.


XStream 有转换器 http://x-stream.github.io/converters.html (tutorial http://x-stream.github.io/converter-tutorial.html)。您必须注册自己的 Double 转换器来处理此问题。在转换器中使用DecimalFormat http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html限制小数位数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

格式化 XML 的十进制值 的相关文章

  • 在 Java 8 中将对象追加到列表并返回结果?

    有没有一种方法可以将对象附加到列表并以功能性非命令方式在一行中返回结果 如果原始列表也不应该被改变 你会怎么做 Java 8 是允许的 我已经知道如何将两个列表连接到一行中 Source https stackoverflow com a
  • 我该如何解决? KnapSack - 值完全相同,但每个对象都有三个权重

    我在解决我的练习时遇到问题 我读到了动态规划和算法 我认为我的练习是 特定背包问题 我用暴力法解决了它 但我无法用动态规划解决它 我有一艘重300吨的船 背包 有些晶体本身含有 3 种物质 X Y Z 每种物质都有重量 并且所有晶体都具有相
  • Java 相当于 Perl 的 s/// 运算符?

    我有一些代码正在从 Perl 转换为 Java 它大量使用了正则表达式 包括s 操作员 我已经使用 Perl 很长时间了 但仍然习惯 Java 的做事方式 特别是 字符串似乎更难使用 有谁知道或有一个完全实现的Java函数s 这样它就可以处
  • Java 中支持多少维数组,例如 a[1][1][1][1]....[1]? [复制]

    这个问题在这里已经有答案了 Java支持多少维数组a 1 1 1 1 1 我可以为数组声明无限数量的维度吗 数组维数限制为 255 有趣的是 JLS定义的Java编程语言没有这样的限制 但是你可以在JVM规范 http docs oracl
  • 解密 TLS 1.2 AES-GCM 数据包

    我正在开发一个 Java 程序来解密TLS 1 2正在使用的会话TLS RSA WITH AES 128 GCM SHA256密码 我使用wireshark 录制了一个测试会话 这大师秘密是已知的 No Time Protocol Leng
  • 将 RequestBody json 转换为对象 - Spring Boot

    我是 java 开发的初学者 但之前有 PHP 和 Python 等编程语言的经验 对于如何进行 Spring Boot 的开发几乎没有什么困惑 我正在开发一个rest API 它有以下请求 key value key1 value1 pl
  • 如何知道 glassfish 是什么 - 完整平台或网络配置文件?

    我已经安装了glassfish 我可以跑 asadmin version 它显示了它是什么版本 但如何知道它是 完整平台 还是 Web 配置文件 你可以使用 glassfish4 bin gt asadmin list containers
  • 维护插入顺序的并发集合[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以维护插入顺序的并发列表 有人有什么好的推荐吗 我看一些番石榴 例如SetFromMa
  • Android 反向地理编码不适用于华为设备

    我正在尝试通过这段代码反转地理编码纬度 经度 Geocoder geocoder new Geocoder context Locale ENGLISH try List
  • Spring Boot 多部分文件始终为 null

    我正在使用 Spring Boot version 1 4 0 RC1 和 Spring Boot Stormpath 1 0 2 我正在尝试使用分段文件上传 但控制器中的 MultipartFile 始终为空 当我使用 RequestPa
  • Elasticsearch NodeBuilder 与 TransportClient

    对于其他 Elasticsearch 开发人员来说 这可能是一个非常简单 而且愚蠢 的问题 这两者之间有什么区别 我正在从 Java Web 应用程序连接到远程 Elasticsearch 服务器 到目前为止我一直在使用 Transport
  • java.lang.ClassCastException: [B 无法转换为 java.lang.String

    我编写了一个带有字段 LoginId 和密码的实体类 我使用 AES ENCRYPT 加密密码并将其存储在数据库中 我只想检索已解密的密码 所以 我使用 AES DECRYPT 使用本机查询是在 OPen JPA 2 0 中 我写的查询是
  • 将字符串转换为字符并按降序排序(ascii)

    我正在创建一个程序 该程序将使用户输入整数 一个接一个 存储在数组中并按降序显示整数 该程序还要求用户输入一个字符串 使用以下命令将其转换为字符string toCharArray 我已经正确地按降序显示整数 问题是我不知道如何按降序显示字
  • Wildfly 10.1 消耗所有核心

    我们最近将银行应用程序从 java 1 6 升级到 1 8 将 jboss 4 x 升级到 wildfly 10 1 我们观察到 java 消耗了机器上可用的所有核心 10 有人可以告诉是什么原因吗 通常情况下 jboss 4 x 的最大
  • XSL - 复制元素但删除未使用的命名空间

    我有一些 XML 声明了一个仅用于属性的命名空间 如下所示 a b b a
  • 如何从Java中的连接获取查询字符串?

    我正在编写一个方法 尝试记录数据库调用 形成连接到它的连接 在查询之后 有很多地方调用方法 connect 来启动并调用 cleanUp 方法来结束 我不能并且不想修改每个地方 所以顺序是这样的 Connection con connect
  • Eclipse 在单独的窗口中打开代码

    我正在 eclipse 中编程 在两个显示器设置上运行 在其中一台显示器上 我只获得了项目资源管理器和编辑器作为自定义透视图 而在另一台显示器上 我获得了其他工具 例如控制台 调试 任务 变量 断点等 例如 当我单击任务视图中的任务时 这将
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br
  • 在java中打印阿拉伯字符串

    我试图在 java 中显示阿拉伯语文本 但它显示垃圾字符 示例 或有时在我打印时仅显示问号 我如何才能打印阿拉伯语 我听说它与unicode和UTF 8有关 这是我第一次使用语言 所以不知道 我正在使用 Eclipse Indigo IDE

随机推荐

  • Phpstorm - 即使一行完成后我也可以单击空白,我不希望能够

    抱歉 因为我意识到这不应该出现在堆栈溢出和他的姐妹之一的衍生作品中 但这让我发疯 当我点击一行的空白时 就会到达一行的末尾 我在另一台机器上进行了全新安装 但它没有执行此操作 所以我知道它是我的版本 我点击了设置中的小 重置 但没有成功 您
  • 当我想查看更改时,如何在不重新启动 Nodejs 的情况下编辑服务器文件?

    我正在尝试设置自己的 Nodejs 服务器 但遇到了问题 我不知道如何在不重新启动应用程序的情况下查看应用程序的更改 有没有办法编辑应用程序并使用 Node js 实时查看更改 Nodules 是 Node 的模块加载器 用于处理模块的自动
  • createElement("svg") 的大小是 0,0

    我想用 JS 创建一个 SVG 并设置大小 但是当我使用createElement svg 生成的 HTML 是
  • 使用 Datastax API 插入/读取 Cassandra 数据库(使用新的二进制协议)

    我已经开始与Cassandra database 我打算使用数据统计API https github com datastax java driver to upsert read进入 来自Cassandra database 我对此完全陌
  • 是否有像 ucfirst() 这样的 PHP 函数会忽略 html?

    我正在以编程方式清理评论和其他用户提交的内容中的一些基本语法 大写 I 句子的第一个字母等 注释和内容与 HTML 混合在一起 因为用户可以选择格式化文本 事实证明 这实际上比预期更具挑战性 尤其是对于 PHP 和正则表达式的新手来说 是否
  • 在 Spring Boot 中定义重要凭证的最佳方式

    当使用 Spring Boot 应用程序时 我们使用不同的application properties根据不同环境的文件 我们放置重要的凭据 例如 数据库配置 服务器 IP 管理员用户名 密码等 我担心如果有人获得我们的应用程序属性并获取所
  • 检查 IEnumerable 是否不包含重复项(= 不同)的快速方法

    有没有fast内置方法来检查是否IEnumerable
  • 使用 Ionic 的本地存储

    我正在尝试将我的应用程序连接到本地存储 以便我可以将数据保存在用户设备上 并且不会在每次应用程序关闭时重置 我唯一的问题是我无法弄清楚如何将本地存储实际链接到我的对象数组 任何帮助是极大的赞赏 我添加了我认为相关的任何代码 app js I
  • 为什么在使用“using namespace std;”时此代码中出现错误和“位/stdc++.h”?

    实际上 这段代码在 DEV C 中运行良好 但是当我将其放入 Hacker Rank 面板时 它给出了这个错误 对函数的引用不明确 尽管所有在线编译器都给出了错误 我不认为这里函数重载会造成中断 因为这个错误主要来自函数重载 include
  • 如何将一个 JavaScript 文件包含在另一个不在浏览器中运行的 JavaScript 文件中? [复制]

    这个问题在这里已经有答案了 我知道以前已经有人问过很多类似的问题 我的情况的不同之处在于 我使用 Windows Scripting Host 并从 DOS 命令行运行脚本 而不是从浏览器内部运行脚本 我能想到的唯一方法是使用以下命令从磁盘
  • foreignKey 与 OneToOne 字段 django [重复]

    这个问题在这里已经有答案了 我需要使用一些附加字段来扩展 django 用户 我在那里找到了两种不同的方式 class UserProfile models Model user models OneToOneField User othe
  • 与 mypy 的比较类型

    我正在尝试创建一个泛型类来表示一个值具有下限和上限 并强制执行这些界限 from typing import Any Optional TypeVar T TypeVar T class Bounded object def init se
  • Common.Logging 有其他选择吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在其模板中使用 Angular Directive 属性

    如何在指令中使用属性的值 我的元素如下所示 div class tooltip icon div 我想在我的指令模板中使用它 如下所示 mainApp directive myTooltip function allowed event l
  • 重复文本查找

    我的主要问题是试图找到一个合适的解决方案来自动转动这个 例如 d c d f d c d f d c d f d c d f 进入这个 d c d f 4 即查找彼此相邻的重复项 然后从这些重复项中制作一个较短的 循环 目前我还没有找到合适
  • 在python中评估Xpath2.0

    我有一个 XPath 表达式 如下所示 if replace p 1 text H h hello then p 1 text else if p 1 text world then p 2 text else notFound 我想显示哪
  • 这2个背包算法一样吗? (他们总是输出相同的东西吗)

    在我的代码中 假设C是容量 N是物品数量 w j 是物品j的重量 v j 是物品j的值 它与0 做同样的事情吗 1 背包算法 我一直在一些数据集上尝试我的代码 情况似乎确实如此 我想知道这一点的原因是因为我们学过的 0 1 背包算法是二维的
  • 使用串扰将多个图表与同一张表连接起来而不会相互影响

    我在下面创建了 Flexdashboard 最初在其中创建了四个数据框 然后其中三个数据帧显示为图表 dcross2 store supplier 和一个 dcross1 如表 我想要实现的是将所有这四个对象连接在一起crosstalk封装
  • 为什么在 T-SQL 中执行循环如此困难

    好的 我知道可以做到 我经常这样做 但是为什么在 T SQL 中做循环这么难 我可以想到很多原因 我想要解析查询结果集并做一些没有循环就无法完成的事情 但设置和执行循环的代码超过 20 行 我确信其他人也有类似的观点 那么为什么我们仍然没有
  • 格式化 XML 的十进制值

    我目前遇到一个问题 我们连接的系统期望接收 XML 其中包含三个格式化为小数点后一位的双精度字段 就我个人而言 我认为我们的系统应该能够以默认格式发送值 然后由其他系统根据需要格式化自己的表示形式 但可惜这似乎不是一个选项 我的基于 Jav