我正在尝试找出将 JSON 对象自定义解析为 XML 文档的最佳方法。
给定以下 JSON(我使用 JSON.org):
{"CfgAccessGroup":{"CfgGroup":{"capacityRuleDBID":{"value":0},"DBID":{"value":97},"siteDBID":{"value":0},"name":{"value":"EVERYONE"},"quotaTableDBID":{"value":0},"contractDBID":{"value":0},"state":{"value":1},"capacityTableDBID":{"value":0},"tenantDBID":{"value":1}},"xmlns":"http://schemas.genesyslab.com/Protocols/Configuration/ConfServer/2005/","type":{"value":6},"memberIDs":{"CfgID":[{"CSID":{"value":0},"DBID":{"value":5195},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":12854},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":12863},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":5808},"type":{"value":3}}]}}}
我尝试通过执行以下操作将 JSON 重新转换为 XML:
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = db.parse(new InputSource(new StringReader(XML.toString(object))));
但是,输出是:
<CfgAccessGroup>
<CfgGroup>
<capacityRuleDBID>
<value>
0
</value>
</capacityRuleDBID>
...
<CfgGroup>
</CfgAccessGroup>
我需要它是:
...
<capacityRuleDBID value=0 />
...
老实说,我真的不知道从哪里开始。
最佳答案
如果您希望对生成的 XML 的元素和属性进行细粒度控制,一种选择是使用 XSLT 转换。
关于java - 将 JSON 对象解析为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53074394/