如何使用 Java 从 XSD 加载 XML 标签顺序?

2024-02-19

我有个问题:

I. QUESTION

有没有一种基于 Java 的库,我可以通过它(提前)读取/加载其 XSD 来检索 XML 元素的顺序?

二.背景

我正在开发的应用程序应该生成各种类型的 XML(提要),每个 XML 都基于给定的架构 (XSD)。

重点是我无法使用标准方法进行序列化 - JAXB,因为我应该通过 Apache Abdera 逐渐生成/流式传输 XML。因此,我应该将我的 Java 域对象“序列化”到 XML(提要)中,根据其中的信息创建不同标签的值,并按照 XSD 定义的顺序将这些标签一一写入到输出流中。

三.所需的功能

目前,我有一个序列化器,它以上述方式将我的域对象转换为 xml,但很快它将需要支持多种类型的模式,并且它不容易维护(更不用说它是非常容易出错)。

四.潜在的解决方案

所以,我想做XML 模式无关的序列化器并将为不同 xml 元素创建值的工作委托给一些专用的构建器或工厂。不过,它们的调用顺序应该由架构中 xml 元素的顺序来定义。

这是我开始时提出的问题:

有没有一种基于 Java 的库,我可以通过它(提前)读取/加载其 XSD 来检索 XML 元素的顺序?

五、如果有这样的图书馆...

概括地说,序列化器需要做的是:

  1. 按照 XSD 中定义的顺序加载 xml 元素(标签)的类型(当然还有它们的限制)
  2. 按照加载顺序迭代 xml 元素的加载类型,并
  3. 对于识别的每个 xml 元素类型,将相应元素的内容构建委托给关联的构建器或工厂。
  4. 有了构建器/工厂构建的值,序列化器只需用元素的标签包装它并将其刷新到输出流中。

提前致谢!


None

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

如何使用 Java 从 XSD 加载 XML 标签顺序? 的相关文章

  • 使用 JPA Criteria API 进行分页的总行数

    我正在系统中为实体实现 高级搜索 功能 以便用户可以使用该实体的属性上的多个条件 eq ne gt lt 等 来搜索该实体 我正在使用 JPA 的 Criteria API 动态生成 Criteria 查询 然后使用setFirstResu
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • 如何模拟从抽象类继承的受保护子类方法?

    如何使用 Mockito 或 PowerMock 模拟由子类实现但从抽象超类继承的受保护方法 换句话说 我想在模拟 doSomethingElse 的同时测试 doSomething 方法 抽象超类 public abstract clas
  • 在 S3 中迭代对象时出现“ConnectionPoolTimeoutException”

    我已经使用 aws java API 一段时间了 没有遇到太多问题 目前我使用的是库 1 5 2 版本 当我使用以下代码迭代文件夹内的对象时 AmazonS3 s3 new AmazonS3Client new PropertiesCred
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 欧洲中部时间 14 日 3 月 30 日星期五 00:00:00 至 日/月/年

    我尝试解析格式日期Fri Mar 30 00 00 00 CET 14至 日 月 年 这是我的代码 SimpleDateFormat formatter new SimpleDateFormat dd MM yyyy System out
  • Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

    我将 Struts 2 版本 2 3 14 3 与 Sitemesh 3 版本 3 0 alpha 2 一起使用 并且在某些情况下遇到 NullPointerException 首先 这是我的 web xml 中的 struts2 site
  • 如何在JSTL中调​​用java方法? [复制]

    这个问题在这里已经有答案了 这可能是重复的问题 我只想调用不是 getter 或 setter 方法的方法例如 xyz 类的 makeCall someObj stringvalue Java类 Class XYZ public Strin
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 我可以创建自定义 java.* 包吗?

    我可以创建一个与预定义包同名的自己的包吗在Java中 比如java lang 如果是这样 结果会怎样 这难道不能让我访问该包的受保护的成员 如果不是 是什么阻止我这样做 No java lang被禁止 安全管理器不允许 自定义 类java
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • spring中如何使用jackson代替JdkSerializationRedisSerializer

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J
  • Eclipse 中 Spring MVC 模型对象的 (jsp /jstl) 视图中的代码辅助

    在 Spring MVC 中 当将对象放置在视图模型中时 如下所示 public String getUser Model model fetch user model addAttribute user user return viewN
  • 为什么这个作业不起作用?

    我有课Results which extends ArrayList
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • 将文本字段的输入存储在 PHP 变量中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 将用户从文本字段输入的内容存储在变量
  • “?”有什么作用?意思是下面的语句

    请原谅我的 新手 问题 但是问号 到底是什么 下面这行代码的意思是 self navigationItem leftBarButtonItem title editing NSLocalizedString Done Done NSLoca
  • 设置 (M x N x N) 矩阵对角线的快速方法? Einsum / n 维 fill_diagonal?

    我正在尝试编写基于矩阵的快速 优化的代码 并且最近发现 einsum 作为实现显着加速的工具 是否可以使用它来有效地设置多维数组的对角线 或者它只能返回数据 在我的问题中 我尝试通过对每个方阵 N x N 矩阵中的列求和来设置方阵数组 形状
  • 使用 mapply cbind 两个列表中的元素

    如果我有两个清单 L1 lt list a1 a2 a3 L2 lt list b1 b2 b3 获取新列表的最佳方式是什么 L3 lt list c1 c2 c3 使得 c1 lt cbind a1 b1 c2 lt cbind a2 b
  • 如何在 XSL 中使用 count() 函数 - 尝试计算报告中“A”的数量

    我正在尝试计算数量A 学校报告里有吗 这是报告
  • 使用根 CA 签名者生成自签名证书

    场景 我正在使用 PowerShellWindows Server 2012r2生成根证书并希望使用它在动态生成 和销毁 的开发 测试环境中签署新创建的中间证书和 Web 证书 这些脚本是远程部署的 目的是尽可能保持纯 PowerShell
  • Android IAP的Java服务器端验证

    我想通过我的中央游戏服务器上的 Google API 验证 Android IAP 有很多关于此的部分信息 这让我大吃一惊 我还没有支付 25 欧元成为 Google 开发者 因为我不确定我是否能够让它发挥作用 进行 IAP 时 会返回一个
  • 将 PHP 对象传递给 javascript [重复]

    这个问题在这里已经有答案了 我在 php 中有对象 每个对象代表一个 项目 以及与其关联的所有信息 当用户浏览页面时 这些对象应该传递给javascript 理想情况下 镜像相同的结构 这样我就可以使用 Raphael 在我的网站上将每个项
  • NHibernate 防止延迟加载不匹配的引用

    我对 NHibernate 有很大的疑问 我有从 Table1 到 Table2 的引用 并且我希望 NHibernate 在 Table2 中找不到相应记录时 不要针对 Table2 发出 SELECT 语句 我不知道 要确保它实际上不在
  • Android:在服务类中读取NFC标签

    我正在开发一个应用程序 我需要读取存储在 NFC 标签中的数据 我所说的数据是指简单的整数值 例如 0 1 2 3 等 从 NFC 读取数据的功能在 Activity 类中工作正常 但我需要在后台运行应用程序 因此即使应用程序未在前台运行
  • 如何在 Microsoft Surface 上自动化非交互式测试

    我们有一套测试 本机库的测试用例 我们希望在 Microsoft Surface ARM 版本 上运行 从 Visual Studio 中手动完成此操作很容易 然而 我们希望以一种可以编译 安装 运行和收集命令行输出 例如来自 Jenkin
  • 未处理的异常:PlatformException(通道错误,无法在通道上建立连接。,null,null)

    突然这个错误出现在调试控制台中 我不知道我做错了什么 您已经升级了 Flutter 但没有升级软件包 在终端中输入 flutter pub outdated 然后将过时的软件包一一升级 如下所示 flutter pub upgrade ou
  • 为什么 Devise 的“current_user”在模型层不可用?

    有很多关于 Devise 的帖子以及缺乏在模型中使用的 current user 的可用性 这里和其他地方发布了许多解决方法 然而 我在任何帖子中都没有找到 为什么 的答案 这是安全问题吗 如果没有 为什么 由于您无权访问模型内 的会话变量
  • Java 构造函数重载

    我是 Java 新手 我无法理解构造函数问题 我已经看过很多教程 但我仍然很难理解为什么我们使用构造函数 无论如何 我的具体问题是 如果我错了 请纠正我 如果我想在我的类中添加多个构造函数 我将编写第一个 第二个将是int类型 在括号内 是
  • Android 离线请求与 Volley

    我想为我的用户提供更好的离线用户体验 因此 我想构建一个Service它存储所有POST DELETE PUT GET没有意义 因为GET没有网络的调用是缓存调用 用户离线执行的请求 并在用户获得互联网连接后立即将其发送到服务器 我希望它是
  • 生成 Google Hangouts 会议 URL

    我希望我的网站能够以编程方式生成环聊网址 这些网址可以转发给特定用户 以便他们加入同一会议 据我了解 这可以通过安排活动来实现Google Calendar 有没有办法在不依赖的情况下做同样的事情Google Calendar 意思是通过A
  • Java8 Stream 编译器消息——局部变量必须是final或有效final

    我有一个小问题 当我写这个 for 循环时 变量i在 f getAnswerScore get i 中带有下划线并带有错误消息 在封闭范围中定义的局部变量 i 必须是最终的或 实际上是最终的 这和流有关系吗 也许流不能在循环中使用 for
  • 我的 Enumerable 类不适用于 Linq 语句,例如 c# 中的 .where

    我希望能够将 Linq 的 where 语句与实现接口 IEnumerable 的 Books 类 Book 列表 一起使用 THE PROBLEM IS HERE IEnumerable list3 bookList Where n gt
  • Visual Studio 2010 Express 限制

    与付费版本相比 VS2010 C Express Edition 有哪些限制 我主要是在研究我可以构建什么样的应用程序 在 VS Express 中我只有 Console Winform 和 DLL 等选项 我读到可以为 Office 程序
  • 如何使用 Java 从 XSD 加载 XML 标签顺序?

    我有个问题 I QUESTION 有没有一种基于 Java 的库 我可以通过它 提前 读取 加载其 XSD 来检索 XML 元素的顺序 二 背景 我正在开发的应用程序应该生成各种类型的 XML 提要 每个 XML 都基于给定的架构 XSD