我需要以编程的方式创建一些xml,有时通过编程调用,有时从读入一些xml(字符串)开始,然后通过调用修改它。然后将xml写入流。我认为最好用codehausstax来写(如果有新的方法,请告诉我)。但对于其余的,目前我正在使用dom4j,这是旧的和废弃的。所以我需要升级到一些支持,没有安全问题。java运行时中有什么东西吗?还是有一个常用的图书馆?我们使用的是Java1.8,因此解决方案不需要1.9或更高版本。
zengzsys1#
你有很多选择。
解析器获取整个文档(这里sax解析是个例外),并从一些常见类创建树结构,如 Document , Node 等。。您可以加载任何xml并使用它。不需要有代表文件的类。
Document
Node
你可以加载任何文件您拥有所有标准xml工具的强大功能,如xslt转换、xpath等。。
难以通过编程方式创建新文件很难从中提取信息
dom解析器sax解析器
第二种方法是对象解析。基本上,您有一个表示您的数据结构的类,您可以将它序列化到xml或从xml序列化。
超级易用快速从现有数据结构中读取/写入数据
xslt等不易使用。。无法真正读取随机xml文件
日本宇宙航空研究开发机构X流Jackson
1条答案
按热度按时间zengzsys1#
你有很多选择。
分析器
解析器获取整个文档(这里sax解析是个例外),并从一些常见类创建树结构,如
Document
,Node
等。。您可以加载任何xml并使用它。不需要有代表文件的类。专业人士
你可以加载任何文件
您拥有所有标准xml工具的强大功能,如xslt转换、xpath等。。
缺点
难以通过编程方式创建新文件
很难从中提取信息
工具
dom解析器
sax解析器
对象序列化
第二种方法是对象解析。基本上,您有一个表示您的数据结构的类,您可以将它序列化到xml或从xml序列化。
专业人士
超级易用
快速从现有数据结构中读取/写入数据
缺点
xslt等不易使用。。
无法真正读取随机xml文件
工具
日本宇宙航空研究开发机构
X流
Jackson