Python XML与Java XML互操作性

2 投票
2 回答
514 浏览
提问于 2025-04-15 20:42

我需要一个推荐的Python库,可以把Python对象转换成XML格式(可以是文件)。我还希望之后能用Java(JAXB)来读取这个XML,并把它转换回Python对象。我知道JAXB有一些问题,导致它和.NET的XML库不太兼容,所以如果能推荐一个真正好用的库就太好了。

2 个回答

0

你可能遇到的问题是你正在使用的Python和Java库在处理对象时的默认格式。任何一个不错的库,比如JAXB,都允许你自定义对象在XML中的表现方式。

你需要先决定你的XML应该是什么样的结构,然后利用你所用库的功能来生成和解析你的XML结构,而不是依赖那些默认设置,因为不同编程语言中的不同库的默认设置是不会一样的。

1

正如Ignacio所说,XML就是XML。在Python中,我推荐使用lxml库,除非你有其他更具体的需求,可能需要用到其他库。如果你只能使用标准库,可以看看ElementTreecElementTree,这两个也非常不错,而且它们的功能大部分和lxml.etree是相似的。

编辑:仔细想想,你似乎不仅仅是在寻找XML,而是想要对象的XML表示。对于这个需求,可以看看lxml.objectify或者Amara。我没有尝试过它们与Java的互操作性,但值得一试。如果你只是想找一种数据交换的方式,也可以考虑自定义JSON对象。

撰写回答