【问题标题】:not able to see data in stax Events while debugging调试时无法查看 stax 事件中的数据
【发布时间】:2013-07-12 20:49:35
【问题描述】:

过去三个月我开始研究 Stax Parser。我曾经在调试时看到 stax 事件中的数据或文本。这曾经在我的任务中帮助我很多。但从过去 2 天开始,出现了奇怪的行为。当我调试项目时,我只能看到这样的事件...[Stax Event #1]、[Stax Event #4]、[Stax Event #1]、[Stax Event #4]

This is giving me hard time debugging. I am woodStox stax and java 1.6.
These are dependencies i am using
 <dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jsr173</artifactId>
    <version>1.0</version>
 </dependency>
 <dependency>
    <groupId>org.codehaus.woodstox</groupId>
    <artifactId>wstx-asl</artifactId>
    <version>4.0.6</version>
 </dependency>
 <dependency>
    <groupId>stax</groupId>
    <artifactId>stax-api</artifactId>
    <version>1.0.1</version>
 </dependency>
 <dependency>
    <groupId>com.sun.xml.stream</groupId>
    <artifactId>sjsxp</artifactId>
    <version>1.0.2</version>
 </dependency>


Do i need to change my settings to get back to normal behavior.

【问题讨论】:

    标签: xml-parsing stax staxmate


    【解决方案1】:

    您有两个 StAX 实现:sjsxpwoodstox,所以实际使用哪个是随机的。您很可能希望删除对 sjsxp 的依赖。

    您还有两个 StAX API:jsr173stax-api。绝对避免前者,它是越野车!对于 Java 6 或更高版本,您可能/应该也删除后者。

    【讨论】:

    • 我按照建议删除了所有不需要的依赖项。应用程序运行,但我能够看到相同格式的事件...[Stax Event #1]、[Stax Event #4]、[Stax Event #1]、[Stax Event #4],同时调试...如何我可以在调试时看到此事件中的文本或数据吗?我是否需要更改任何其他设置。
    • 不使用XMLInputFactory.newInstance(),而是使用new WstxInputFactory() 来强制实施Woodstox。或者,使用此处描述的服务 API:docs.oracle.com/javaee/5/api/javax/xml/stream/…
    • 我认为由于我使用的是 Java 6 或更高版本,我无法查看事件中的数据或文本。因为使用java 1.5的项目,我可以在调试时看到事件中的数据。还有一个问题,强制使用新的 WstxInputFactory() 是否有助于我们提高性能。
    • 是的,woodstox 也快得多。
    【解决方案2】:

    您使用什么代码来打印输出语句? Stax API 始终允许您访问任何数据事件;但仅通过 event.toString() 可能无法正常工作。

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 1970-01-01
      • 2022-12-04
      • 2012-01-01
      • 2020-09-01
      • 2010-11-23
      • 2020-05-22
      • 2021-02-12
      • 2016-10-15
      相关资源
      最近更新 更多