0

我有一个读取和写入 MQ 队列的 JMS 消息传递应用程序。消息数据是字符串形式和 xml 格式(减去正常的标头标记,如 xml 版本等)。我正在寻找读取、写出和验证 xsd 模式的最佳方法,但是我遇到的示例都是关于处理文件的。

有没有办法(那里有教程)来获取一个 xml 字符串?读入并验证它并对我创建的 xml 字符串执行相同的验证和写出而不写入磁盘?

将不胜感激任何指针。

4

3 回答 3

0

查看 Java SE 中的 javax.xml.validation API,特别是用于根据 XML 模式验证 XML 内容的 Validator 类:

于 2010-08-05T15:20:06.830 回答
0

在字符串上使用 StringReader,将阅读器传递给 JAXB 方法以读取内容。

于 2010-08-05T15:35:19.297 回答
0

谢谢大家,我设法用以下方法解决了这个问题。

马歇尔:

JAXBContext jaxbContext = JAXUtility.getContext(packageLocation); StringWriter sw = new StringWriter(); Marshaller m = jaxbContext.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); if (o instanceof UnadvisedDeal) { m.marshal((UnadvisedDeal) o,sw);

解组:

JAXBContext jaxbContext = JAXUtility.getContext(packageLocation); 解组器 um = jaxbContext.createUnmarshaller(); ud = (UnadvisedDeal) um.unmarshal(new StringReader(sw.toString()));

谢谢你的帮助

于 2010-08-06T04:20:22.780 回答