问题标签 [woodstox]

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 投票
1 回答
6555 浏览

java - JAXB 使用 Woodstox 解析器来提高性能?

是否可以切换本机解析器,我相信它是基于 Java 反射的。我们有一些性能问题,想知道我们是否可以切换实现。

非常感谢您的建议。

附加信息:这是继承的代码,我们需要修复 Web 服务中的性能问题。我正在寻找无需更改代码的性能提升。现有代码使用 JAXB 编组和解组通过 CXF(wsdl 到 java)生成的 java 对象。

我的目标是将实现切换到 sTax,然后使用 Woodstox 库。

0 投票
1 回答
2285 浏览

java - 如何配置 JAXB 以在 JBoss 6 上使用 Woodstox?

我正在 JBoss 6 上部署 Java EE 6 JAX-RS Web 服务,我想使用Woodstox而不是当前使用的任何 SAX/StAX 解析器。由于某些堆栈跟踪列出了(在其他包中)中的类:

  • org.apache.xerces.parsers
  • org.apache.xerces.impl
  • org.apache.xerces.jaxp

...我猜它正在使用Xerces

我已经尝试将必要的 JARwoodstox-core-asl-4.1.1.jarstax2-api-3.1.1.jar)添加到 EAR(部署在/lib目录中)和 WAR(在WEB-INF/lib)中,但这似乎没有影响任何事情,因为 XML 解析中异常的堆栈跟踪仍然引用 Xerces 包。

我已经阅读过这个问题,但我认为我已经尝试过如上所述的“将其添加到您的类路径”选项。我也已经尝试根据此线程添加以下 VM args :

我究竟做错了什么?如何让 JAXB 使用 Woodstox 而不是(我认为)Xerces?

0 投票
2 回答
5490 浏览

java - 如何使用 StAX XML 解析器捕获属性事件?

我尝试使用 StAX XML 解析器解析 XML 文件。它给了我START_ELEMENTEND_DOCUMENT事件,但没有ATTRIBUTE事件。如何ATTRIBUTE使用 StAX 解析器接收事件?

我的 XML:

我的 StAX XML 解析器:

0 投票
1 回答
531 浏览

xml-parsing - 有没有办法使用axis2接受SOAP请求中的实体

目前我对实体没有任何问题 < > ' &.但是如果我提供一些其他实体,则会在axis2中出现以下错误

有没有办法在axis2中添加实体解析器

0 投票
2 回答
2170 浏览

xml - 如何将相关系统 DTD 加载到 StAX 解析器中?

我正在使用woodstox 为XML 文件实现StAX 解析器。假设我在文件系统的公共目录中的某处有一个有效的 XML 文件,该文件具有匹配的 DTD。

XML 使用相对系统标识符声明对其 DTD 的引用,如下所示:

从验证的角度来看,对我来说一切都很好。(是吗?xmllint 不会抱怨。)但是,当我尝试使用下面的代码解析文件时,woodstox 会抛出java.io.FileNotFoundException,因为它找不到相关的 DTD 文件。在我看来,该实现尝试访问相对于工作目录而不是相对于 XML 文件对象的 DTD 文件。

  1. 这是故意的吗?
  2. 有没有一种方便的方法可以说服 StAX 解析器加载相对于给定 XML 文件而不是相对于工作目录的 DTD?
0 投票
1 回答
191 浏览

stax - StaxMate:访问纯 XML

我得到了以下(实际上是巨大的)XML 来处理:

使用StaxMate,这非常容易。但是我到底如何告诉 StaxMate“记录”例如每个项目的纯 XML (参见上面的 XML)。所以在处理完一个项目后,我已经完成了我的处理+我有字符串

某处。

非常感谢,法比安

0 投票
2 回答
5048 浏览

java - Java - XML 解析器性能:Sun Java Streaming XML Parser (SJSXP) vs Woodstox

我正在寻找最新的、内存高效的和高性能的 java XML 解析 API。我需要解析 3 MB 到 5 MB 的 XML 文件。

我对此进行了谷歌搜索,了解到 Sun Java Streaming XML Parser (SJSXP) 和 Woodstox 比 DOM 和 SAX 快得多。两者都使用 StAX API。*这些技术不支持模式验证。

Aalto XML 处理器也实现了 StAX API。

我还没有找到关于这些技术性能的具体发现。

哪一个在内存效率、高性能和易用性方面最好?

0 投票
3 回答
1168 浏览

xslt - 如何使用 XSLT 控制 Spring-WS 命名空间单引号或双引号

我想将文档中单个命名空间声明的双引号更改为单引号,同时将所有其他命名空间声明保留为双引号。我怎样才能做到这一点?

这是来自服务器的响应文档:

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><InquiryResponse xmlns="http://www.openuri.org/"><Header><HeaderAttr1>abcd</HeaderAttr1><HeaderAttr2>xxx</HeaderAttr2><HeaderAttr3>string</HeaderAttr3></Header><Body><InquiryResult><ResultItem1>theresulttext</ResultItem1><ResultItem2>abcd</ResultItem2><ResultItem3>0</ResultItem3></InquiryResult></Body></InquiryResponse></soapenv:Body></soapenv:Envelope>

我需要类似的东西(注意 open:InquiryResponse 没有“)。

<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <open:InquiryResponse xmlns:open='http://www.openuri.org/'><open:Header><open:HeaderAttr1>abcd</open:HeaderAttr1><open:HeaderAttr2>xxx</open:HeaderAttr2><open:HeaderAttr3>string</open:HeaderAttr3></open:Header><open:Body><open:InquiryResult><open:ResultItem1>theresulttext</open:ResultItem1><open:ResultItem2>abcd</open:ResultItem2><open:ResultItem3>0</open:ResultItem3></open:InquiryResult></open:Body></open:InquiryResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

我已经能够进行命名空间前缀更改、附加命名空间声明、空白修正、字符集更改,我现在只需要更改这两个字节。

我正在使用 Spring WS + Woodstox + Axiom 构建一个简单的查询 Web 服务。它是现有服务的替代品,我想让它逐字节相同($$ 原因)。我可以将 XML 转换为相同的类型,但目前我们不知道哪些消费者使用 grep 或正则表达式来查找数据。

到目前为止,我正在尝试使用 XSLT 和 PayloadTransformingInterceptor 来解决这个问题。我也会对其他选项感兴趣。

0 投票
1 回答
9374 浏览

java - 使用 Woodstox 解析器解析“&”字符时出错

爪哇:1.6
伍德斯托克斯:4.1.4

我目前正在尝试让 Woodstox xml 解析器成为我的朋友。但开始真的很难:) 我有小吗?像这样解析xml时的问题:

这很简单,但不幸的是我遇到了这个异常:

这是因为字符 &。

问题:
是否可以成功读取 xml 而不会出现此异常?

提前谢谢

0 投票
4 回答
1625 浏览

java - woodstox 跳过部分 xml

爪哇:1.6
伍德斯托克斯:4.1.4

我只想在解析时跳过部分 xml 文件。让我们看一下那个简单的xml:

我只想跳过爸爸元素。所以看起来像使用如下所示的 skipElement 方法是一个好主意:

我们只是找到元素爸爸的开始,然后跳过它。但不是那么快,因为会抛出异常。这是输出:

这不是预期的。这确实很意外,因为方法 skipElement 是在 START_ELEMENT 状态下执行的。我不知道发生了什么,也许你知道更多:)。所以请帮助我。

提前感谢
休伯特