Tag: stax

Java – XML解析器性能:Sun Java Streaming XML Parser(SJSXP)与Woodstox

我正在寻找最新的,内存效率和高性能的Java XML解析API。 我需要解析3 MB到5 MB的XML文件。 我对此进行了谷歌搜索并了解了Sun Java Streaming XML Parser(SJSXP),Woodstox比DOM和SAX快得多。 两者都使用StAX API。 *这些技术不支持架构validation。 Aalto XML处理器也实现了StAX API。 我没有找到关于这些技术的性能的具体发现。 哪一个在内存高效,高性能和易用性方面最佳?

使用JDK 1.6时,我的Web应用程序中是否需要stax-api-1.0.x?

我目前正在开发一个使用Jersey for REST的Web应用程序。 我使用maven,并且stax-api-1.0.1和1.0.2都被拉入我的web-inf / lib。 我认为stax api是JDK1.6的aprt? 为什么这些JARS包含在我的Web应用程序中? 这是我的pom.xml 4.0.0 com.glennbech simplerest war 1.0-SNAPSHOT Simplerest Maven Webapp. Very simple REST. http://maven.apache.org com.sun.jersey jersey-server 1.9 com.sun.jersey jersey-json 1.9 mysql mysql-connector-java 5.1.17 simplerest org.mortbay.jetty maven-jetty-plugin 6.1.25 / 5

Spring Batch – MongoDB到XML – 引起:java.lang.IllegalStateException:需要将输入转换为的类型

我正在开发Spring Batch – MongoDB to XML例子。 在这个例子中,当我运行main方法时,我看到下面的错误是cominng。 请指导以下错误。 我试图在网上找到解决方案,但我还没有在网上找到任何有用的东西。 Exception in thread “main” org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘step1’: Cannot resolve reference to bean ‘mongodbItemReader’ while setting bean property ‘itemReader’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mongodbItemReader’ defined in class path resource [job-report.xml]: Invocation of init method failed; nested exception is […]

如何使用Java StAX格式化和读取XML处理指令?

首先,我如何格式化XML处理指令,它是: 使用StAX,然后我想通过处理XMLStreamConstants.PROCESSING_INSTRUCTION ( javadoc )事件来读取它,但它只提供两个方法然后从XMLStreamReader检索有关处理指令的信息: getPITarget() getPIData() 这两种方法的javadoc不是很有帮助。 XML格式是否正确? 这是使用StAX XMLStreamReader API解析处理指令的正确方法吗? 如何使用getPITarget()和getPIData()返回多个参数?

StAX格式良好的XML检查

我正在检查XML文档是否格式良好(仅语法检查)。 我没有validation任何架构。 我需要使用StAX来做到这一点: 我知道我必须解析文件,但是如何实现检查呢? XMLInputFactory factory = XMLInputFactory.newInstance(); File f = new File(uploadfileName); FileInputStream inputStream = new FileInputStream(f); //Instantiate a reader parsing: XMLStreamReader reader=factory.createXMLStreamReader(inputStream); while(reader.hasNext()){ //check to be implemented?? reader.next(); }

java StAX – StartDocument的独立属性

我想阅读,操作和编写一个xml文件。 我想先从读写开始,然后再操作。 我使用StAX Parser并希望使用EventReader和EventWriter。 我想在读取和编写StartDocument元素时遇到了第一个问题。 输入: 文件“data_output_test.xml”中的输出: 我用显式创建了startDocument对象 eventFactory.createStartDocument(“iso-8859-15”, “1.0”, true); 但是当我将新的startDocument对象写入文件时,该属性不会显示。 这是我的代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import javax.xml.stream.XMLEventFactory; import javax.xml.stream.XMLEventReader; import javax.xml.stream.XMLEventWriter; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamException; import javax.xml.stream.events.XMLEvent; public class XML_ReadWrite{ @SuppressWarnings(“unchecked”) public static void main(String[] args) { XMLInputFactory factory_in = null; XMLOutputFactory factory_out […]

有没有办法构建StAXfilter链?

使用EventFilter和StreamFilter使用StAX为不同的事件类型进行自定义转换我觉得被强制进入程序实现 – 提取这些事件并处理它们,过滤这些事件并处理它们,而不是将所有结果放回原处并返回。 SAX似乎有一个非常好的function – 基于XMLFilters的可链接filter 。 我宁愿保持我的实现基于StAX,但以某种方式合并或模拟SAX的可链接filter。 这可以通过合理的努力来完成吗? 我已经错过了实施吗? 由于项目的限制,我必须坚持使用JDK,所以请不要建议使用不同的库作为答案,但可以随意在评论中提出一个 – 我很想知道那里有什么。

使用StAx解析XML文件时出错

我用StAx编写了一个xml解析器,用于解析从服务器接收的XML流。这是我的代码: private Map parse(InputStream is) throws XMLStreamException { XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader reader = factory.createXMLStreamReader(is); boolean action = false; Map actionsMap = new HashMap(); while(reader.hasNext()){ int type = reader.next(); switch(type){ case XMLStreamReader.START_ELEMENT : action = reader.getLocalName().equals(“action-description”); break; case XMLStreamReader.CHARACTERS : if( action ){ String act = reader.getText(); System.out.println(“Action trouvées ” + act); String[] praxiscmd […]

如何在java中覆盖服务提供者

这是一个更普遍的问题示例:我正在使用xstream和woodstox,woodstox附带了一个服务提供者,用于注册com.ctc.wstx.stax.WstxOutputFactory的woodstox jar中的javax.xml.stream.XMLOutputFactory。 我想提供自己的javax.xml.stream.XMLOutputFactory,并且在类路径中仍然有woodstox jar。 我知道我可以提供我自己的系统属性javax.xml.stream.XMLOutputFactory,但是我正试图从我们的开发团队中解脱麻烦并使用我的jar中的服务文件或者在我的战争中使用META -INF / services文件夹。 查看javax.xml.stream.FactoryFinder的代码如何确保我的META-INF / services / javax.xml.stream.XMLOutputFactory文件将是FactoryFinder使用的文件? 我们将xstream与camel一起使用,并且无法找到将工厂注入XStreamDataFormat的方法

使用StAX读取XML字符串

我第一次使用stax来解析XML String。 我找到了一些例子,但无法让我的代码工作。 这是我的代码的最新版本: public class AddressResponseParser { private static final String STATUS = “status”; private static final String ADDRESS_ID = “address_id”; private static final String CIVIC_ADDRESS = “civic_address”; String status = null; String addressId = null; String civicAddress = null; public static AddressResponse parseAddressResponse(String response) { try { byte[] byteArray = response.getBytes(“UTF-8”); ByteArrayInputStream inputStream […]