问题标签 [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.

0 投票
3 回答
24567 浏览

java - Java XPath(Apache JAXP 实现)性能

注意:如果您也遇到此问题,请在 Apache JIRA 上投票:

https://issues.apache.org/jira/browse/XALANJ-2540

我得出了一个惊人的结论:

似乎比这快了令人难以置信的 100 倍:

我正在使用 JVM 的默认 JAXP 实现:

我真的很困惑,因为很容易看出 JAXP 如何优化上述 XPath 查询以实际执行一个简单的查询getElementsByTagName()。但它似乎没有这样做。此问题仅限于大约 5-6 个经常使用的 XPath 调用,这些调用由 API 抽象和隐藏。/a/b/c这些查询仅针对始终可用的 DOM 文档涉及简单路径(例如,无变量、条件)。因此,如果可以进行优化,那将很容易实现。

我的问题:XPath 的缓慢是一个公认的事实,还是我忽略了什么?有更好(更快)的实现吗?或者我应该完全避免使用 XPath 来进行简单的查询?

0 投票
3 回答
720 浏览

java - JAXP XSLT document() 函数问题

我正在使用 XSLT 转换的 java 应用程序下工作。我有很多 document() 调用,所以可能有 java.lang.OutOfMemory 异常(我实际上有),因为在每次调用 document() 函数后,文档都会被缓存。

http://xml.apache.org/xalan-j/faq.html#faq-N102F9我读到可以增加堆内存大小,这不是我的解决方案。我还尝试使用似乎不受支持的增量转换。

那么,在使用 document() 函数时,是否有可能在 jaxp 中关闭文档缓存?

0 投票
1 回答
656 浏览

java-me - JAXP Sax Parser Java-ME Midlet 解析汉字时出现异常

我在解析一些嵌入在 XML 文件中的编码为 HTML Unicode 的中文字符时遇到了很大的麻烦。

我将Java MEjavax.xml.parsers.SAXParser一起使用

一个这样的字符文件是词:


关于它的信息:http ://www.isthisthingon.org/unicode/index.php?page=08&subpage=B&glyph=08BCD

但奇怪的是

工作正常。

直接嵌入<test>词&lt;/test>也可以。

我的测试 midlet 有以下源代码:

它正在消亡:

我会很感激任何想法。

0 投票
5 回答
2203 浏览

java - 验证失败后移动文件 (Java)

我们正在验证 XML 文件,根据验证结果,我们必须将文件移动到不同的文件夹中。

当 XML 有效时,验证器会返回一个值,我们可以毫无问题地移动文件。当 XML 根据架构无效时,也会发生同样的事情。

但是,如果 XML 格式不正确,则验证器会抛出异常,并且当我们尝试移动文件时,它会失败。我们相信内存中的某个地方仍然有一个句柄来保存文件。我们尝试在移动文件之前放置 System.gc() 并对问题进行排序,但我们无法System.gc()作为解决方案。

代码看起来像这样。我们有一个 File 对象,我们从中创建一个 StreamSource。然后将 StreamSource 传递给验证器。当 XML 格式不正确时,它会引发 SAXException。在异常处理中,我们使用 .renameTo() 方法来移动文件。

在我们尝试的捕获中

但仍然.renameTo()无法移动文件。如果我们System.gc()抓到,移动就会成功。

有人可以启发我如何在没有的情况下对其进行排序System.gc()?

我们使用 JAXP 和 saxon-9.1.0.8 作为解析器。

非常感谢

0 投票
1 回答
416 浏览

xml - 在另一个 xpath 表达式中使用 XPATH 的结果

我有一个如下所示的 XML。在这里,我想选择节点b的属性值为23 取该值并沿 xml 向下选择节点f的节点j ,其 id 值为 23。这可以在单个 xpath 表达式中实现吗?

我正在使用 JAXP 进行 xml 处理

0 投票
1 回答
432 浏览

java - 有没有办法在 JAXP 或 Xalan XSLT 范围内绑定 Java 对象?

Xalan-J 允许我们使用它的扩展机制创建和操作 java 对象。我想要做的是从Java(从调用Xalan 的JVM)传递一个已经创建的对象,然后从xslt 操作这个对象。

例如,我想做这样的事情:

这可能吗?

0 投票
1 回答
1256 浏览

dtd - Apache Camel 使用 DTD 进行验证

我正在使用 Apache Camel 开发 POC,我必须通过 CXF 公开一个 WS,进行一些验证和转换并调用另一个 WS。我尝试使用验证器,但它似乎只适用于 xml 架构......

我尝试使用 W3.org 工具生成我的 dtd 的 xsd 版本,但结果无效。

有什么解决办法吗?

0 投票
3 回答
3550 浏览

java - IllegalArgumentException: When using array of Objects as the value of SCHEMA_SOURCE property , no two Schemas should share the same targetNamespace

I am using JasperReport/ireport4, I tried to generate a report as below

but an error occured.

here are my libraries

enter image description here

0 投票
0 回答
372 浏览

java - JAXP 非法注释异常

JAXP 给了我这个错误

有什么方法可以找出这 10 个错误在哪里?如果我引用我的一些代码,我可以把它减少到 7 个错误,但这是最愚蠢的调试方式......

我可以像使用 DOM 一样注册一些 ErrorHandler 吗?

我的代码如下所示:

编辑:

这是堆栈跟踪,但它并没有真正告诉我错误在哪里。

消息:10 次 IllegalAnnotationExceptions com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source) com.sun.xml.internal .bind.v2.ContextFactory.createContext(Unknown Source) com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) java.lang.reflect.Method.invoke(未知来源) javax.xml.bind.ContextFinder.newInstance(未知来源) javax。xml.bind.ContextFinder.find(未知来源) javax.xml.bind.JAXBContext.newInstance(未知来源) javax.xml.bind.JAXBContext.newInstance(未知来源)

0 投票
1 回答
690 浏览

java - 查询 JAXP XPath 在 WebSphere 中的第二次调用时找不到节点(JUnit 工作正常)

我正在检查一个带有 xml 元素的元素,如果不存在,将默认一个值。

这是来自 Websphere 7 上的 JAXWS 的 Web 服务调用,作为 org.apache.xerces.dom.ElementNSImpl。

如您所见,我在每次调用时都尽可能多地实例化所有内容。

第一个 Web 服务调用,它返回节点。第二个 Web 服务调用,它为两个 xpath 都返回 null。

根据javadoc “XPath [和 XPathExpression] [对象] 不是线程安全的,也不是可重入的。

有任何想法吗?