问题标签 [jaxp]
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 - 如何使用 JAXP DocumentBuilder 提供自定义错误消息?
我想提供我自己在 中完成的验证的消息DocumentBuilder
,而不是来自XMLMessages.properties
.
现在我看到error-reporter
需要将一个属性设置为扩展的类XMLErrorReporter
。
但是,我无法ComponentManager
从Document
/ Builder
/获取Factory
。
解析字符串SAXParseException
是最后的选择,但我只是认为可能有一种“最佳实践”的方法。
java - java附加到文件
我用谷歌搜索了一段时间,但似乎找不到它,应该很容易。我想将 CR 附加到我使用 Transformer 创建的 XML 文件的末尾。有没有办法做到这一点>
我尝试了以下方法,但这导致了一个空白文件?
java - 关闭 SAX 解析器在解析过程中读取的流的最佳方法是什么?
让我们直接回答我的问题:我有一个套接字,通过这个套接字/流的所有输入都由我的 SAX 解析器解析。现在,对于某个解析事件,我想从我的 SAX 事件处理程序中关闭套接字/流。另外,我想在解析器仍在工作时从外部关闭流。不幸的是,如果没有解析器抛出异常(意外的文档结束......),我无法做一件事或另一件事。好的,我可以捕捉到这个异常,但是您知道如何安全关闭流的解决方案吗?
java - 如何根据 Java 中的 Schematron 模式验证文档?
据我所知,JAXP 默认支持来自 Java 6 的 W3C XML Schema 和 RelaxNG。
我可以在schematron.com 链接页面上看到一些 API,大部分是实验性的或不完整的。
是否有一种在 Java 中验证 schematron 的方法是完整的、高效的并且可以与 JAXP API 一起使用?
csv - 将 .csv 文件转换为 xml 或 json 时保留层次结构
我有一个关于将数据从 CSV 转换为 XML 或 JSON 的问题,其中必须保留数据的层次结构。
例如,如果我有这样的 CSV 数据:
我想要的是保留 XML 中的层次结构,以便我得到类似的东西:
是最好尝试使用 JAXP 还是将上面的内容简单地转换为父子表,然后将数据写入字符串数组进行处理,?像这样:
等等。
或者,还有更好的方法?
谢谢
西蒙·莱文森
java - 如何使用 RELAX NG 模式和 JAXP 验证 XML 文档?
我想使用 RELAX NG 模式验证 XML 文档,并且我想使用JAXP 验证 API。
从谷歌搜索,看来我可以使用Jing和ISO RELAX JARV to JAXP Bridge。不幸的是,在将两者都添加到我的类路径之后,我无法让它工作。SchemaFactory
只是在IllegalArgumentException
尝试实例化工厂时抛出一个-我查看了内部SchemaFactory
,显然SchemaFactoryFinder
返回了一个空结果。
因此,我将不胜感激任何一个问题的答案:
- 我怎样才能使这与 Jing 和这座桥一起工作?
- 我应该尝试一组更好/不同的库吗?
我需要它来使用 Java 5 和 Java 6。
谢谢!
java - 如何在 MacOS 上获得干净的 Java VM?
在 MacOS 上(至少在 SnowLeopard 上),java 命令无条件地向类路径添加一个额外的 jar:
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/.compatibility/14compatibility.jar。
此 jar 包含未重命名的 Apache Xerces+Xalan 版本。对于那些试图显式使用这些库的其他版本的应用程序,尤其是在 servlet 容器中的 webapps 中,这可能会导致混乱的结果。
我试图通过使用 MacPorts 中的 OpenJDK 来避免这种情况,但 MacPorts 构建失败了。
除了删除那个 JAR 文件的明显暴力之外,有没有人想出其他方法?在一个博客上推荐它,但我担心如果没有它,某些 Apple 组件或其他组件会失败。
java - 使用导入和包含在 Java 中解析模式?
我正在尝试将一个相当复杂的 XML 模式解析为 Java 中的 Schema 对象,这样我就可以对 XML 消息进行一些验证。
我的代码与此类似:
我的架构有很多导入:
...ETC。当我尝试加载架构时,出现很多错误。基于与此相关的另一个问题,看起来我需要指定一个资源解析器,但这不是应该默认处理的吗?
如果是这样,是否有一个特定的目录我需要将架构放在相对于我运行我正在编写的应用程序的位置或相对于基本架构文件的位置?
最后,当我使用 XMLSpy 或类似工具加载架构时,它工作正常,我可以毫无问题地验证 XML 实例。
java - 如何找出正在使用的 JAXP 实现以及它是从哪里加载的?
我想提供有关正在使用的 JAXP 实现以及从哪个 JAR 文件加载它的诊断信息。
实现此目的的一种方法是在例如 a 的实例中创建,DocumentBuilderFactory
然后检查该类的属性:
有没有更好的方法来实现这一点,也许不必创建一个DocumentBuilderFactory
?
java - 从 JAXP SAX ContentHandler 发出 XML 的最节省内存的方法是什么?
我的情况类似于早期关于发出 XML 的问题。我正在分析 SAX ContentHandler 中的数据,同时将其序列化为流。我怀疑链接问题中的解决方案——尽管它正是我在 API 方面正在寻找的解决方案——不是内存效率的,因为它涉及使用 XSLT 处理器的身份转换。我希望程序的内存消耗是有界的,而不是随着输入大小而增长。
如何轻松地将参数转发到我的 ContentHandler 方法到序列化程序,而无需进行杂技以适应例如 StAX 到 SAX,或者更糟糕的是,将 SAX 事件内容复制到输出流?
编辑:这是我所追求的最小示例。thingIWant
应该只写入给它的 OutputStream。就像我说的,前面的问题有一个 TransformerHandler,它为我提供了正确的 API,但它使用 XSLT 处理器而不是简单的序列化。