相关疑难解决方法(0)

你推荐什么Java XML库(替换dom4j)?

我正在寻找像dom4j这样的东西,但没有dom4j的瑕疵,例如文档不好或丢失,看似停滞的开发状态.

背景:我一直在使用 提倡 dom4j,但是我觉得它并不完全正确,因为我知道这个库远非最佳(例如:看看XSLT相关样式表类中的方法是如何记录的;你会传递什么来运行( )作为String mode参数?)

要求:与使用 纯JDK(javax.xmlorg.w3c.dom包)时相比,库应该使基本的XML处理更容易.这样的事情:

  • 将XML文档(从文件或字符串)读入对象,轻松遍历和操作DOM,执行XPath查询并针对它运行XSLT.
  • 在Java代码中构建XML文档,添加元素,属性和数据,最后将文档写入文件或字符串.

我真的很喜欢dom4j所承诺的,实际上:" 易于使用的开源库,用于处理XML,XPath和XSLT [...],完全支持DOM,SAX和JAXP. "即将推出的dom4j 2.0确实声称能解决所有问题:充分利用Java 5并添加缺少的文档.但不幸的是,如果你仔细观察:

警告:dom4j 2.0处于pre-alpha阶段.它很可能无法编译.如果它可以随机编译,很可能无法运行.如果它偶尔运行,它可能会突然爆炸.如果要使用dom4j,则需要1.6.1版.真.

......并且网站已经说了长时间了.那么有没有一个很好的替代dom4j?请为您的首选库提供一些理由,而不是仅仅转储名称和链接.:-)

java xml dom4j

76
推荐指数
5
解决办法
6万
查看次数

在Java应用程序中读取XML文件的最佳/最简单方法是什么?

目前,我们的Java应用程序使用制表符分隔的*.cfg文件中保存的值.我们需要更改此应用程序,以便它现在使用XML文件.

为了从这个文件中读取值,最好/最简单的库是什么?

java xml file

52
推荐指数
4
解决办法
13万
查看次数

在Java中使用Xml的简单方法

是否有简单的方法在Java中读写Xml?

我之前使用过SAX解析器,但我记得它不直观,我看了几个JAXB的教程,看起来很复杂.

我不知道我是否被C#的XmlDocument类所破坏,但我想要做的就是创建一个Xml文档,它代表一组类及其成员(有些是属性,有些是元素).

我会研究序列化,但XML必须具有与ac#app输出相同的格式,我将其逆向工程化为Java.

java xml serialization

28
推荐指数
2
解决办法
1万
查看次数

如何使用XOM流式传输XML数据?

假设我想使用XOM将大量搜索结果(如XML)输出到PrintWriter或OutputStream中.生成的XML看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<resultset>
    <result>
       [child elements and data]
    </result>
    ...
    ...
    [1000s of result elements more]
</resultset>
Run Code Online (Sandbox Code Playgroud)

因为生成的XML文档可能很大(可能是几百兆字节),我想以流式方式输出它(而不是在内存中创建整个Document然后编写它).

<result>一次输出一个的粒度很好,所以我想一个<result>接一个地生成,并将其写入流中.换句话说,我只想做一些像这样的伪代码(启用自动刷新,所以不用担心):

open stream/writer
write declaration
write start tag for <resultset>
while more results:
    write next <result> element
write end tag for <resultset> 
close stream/writer
Run Code Online (Sandbox Code Playgroud)

我一直在寻找Serializer,但必要的方法,writeStartTag(Element),writeEndTag(Element),write(DocType)受到保护,不公开!除了将Serializer子类化为能够使用这些方法,或者将开始和结束标记作为字符串直接手动写入流中,完全绕过XOM之外,没有其他方法吗?(后者在这个简单的例子中不会太糟糕,但在一般情况下会变得非常难看.)

我错过了什么或者XOM是不是为此而做的?

随着dom4j的我能做到这一点很容易使用XMLWriter-它有需要构造Writer或者OutputStream和方法writeOpen(Element),writeClose(Element),writeDocType(DocumentType)等比较,以XOM的Serializer,唯一的公共write方法是一个取整Document. …

java xml streaming xom

4
推荐指数
2
解决办法
2429
查看次数

标签 统计

java ×4

xml ×4

dom4j ×1

file ×1

serialization ×1

streaming ×1

xom ×1