java - 使用 Java 将动态 XML 转换为 JSON
问题描述
我有一个要求,XML 的标签对于不同的文件是动态的。例如:
XML 文件 1:
<?xml version="1.0" encoding="utf-8"?>
<Order>
<DueDate>12/25/2020</DueDate>
<CreatedBy>User1</CreatedBy>
<OrderType>Print</OrderType>
<ReferenceNumber>A1234</ReferenceNumber>
</Order>
XML 文件 2:
<?xml version="1.0" encoding="utf-8"?>
<Job>
<LastDate>12/25/2020</LastDate>
<CreatedUser>User1</CreatedUser>
<JobType>Print</JobType>
<TrackingNumber>A1234</TrackingNumber>
</Job>
我想转换为 JSON 如下。JSON 结构不会发生变化。
{
"dueDate" : "12/25/2020",
"createdBy": "User1",
"jobType" : "Print",
"trackingNumber": "A1234"
}
由于不同的 XML 具有不同的格式标记,是否可以在服务器或数据库的某处为每个 xml 数据创建一个映射文件,我可以在其中引用它并进行转换?我需要一个类似于下面的映射:
XmlToJson1.properties:
dueDate=DueDate
createdBy=CreatedBy
orderType=OrderType
trackingNumber=ReferenceNumber
XMLToJson2.properties
dueDate=LastDate
createdBy=CreatedUser
orderType=JobType
trackingNumber=TrackingNumber
我如何在 Java 中做到这一点?
任何提示会有所帮助吗?
注意:我不想在每次出现新的 XML 格式时都更改 Java 代码。