1

我希望这不是一个重复的问题,我一直在为我的简单问题寻找答案,但我找不到任何问题。我需要使用下划线 java 库将 json 转换为 xml,这很容易使用 U.jsonToXml 方法。我的问题是当我需要创建具有值和属性的节点时。

我可以做什么:

<some_root>
  <ABC some_attribute="attribute">
    <another_tag>some_value</another_tag>
  </ABC>
</some_root>

我需要的是:

<some_root>
  <ABC some_attribute="attribute">some_value</ABC>
</some_root>

我正在尝试不同的东西,使用数组或自关闭标签,查看 gh repo,但我无法获得带有参数和值的节点:

"{\"ABC\":{\"-attr\":\"c\", \"value\": \"test\"}}"
"{\"ABC\":{\"-attr\":\"c\", \"-value\": \"test\"}}"

有没有办法做到这一点?谢谢你的帮助。

4

1 回答 1

1

XML 转换的示例:

    String xml =
            "<some_root>\n"
                    + "  <ABC some_attribute=\"attribute\">\n"
                    + "    <another_tag>some_value</another_tag>\n"
                    + "  </ABC>\n"
                    + "</some_root>";
    Map<String, Object> data = U.fromXmlMap(xml);
    U.set(data, "some_root.ABC.#text", U.get(data, "some_root.ABC.another_tag"));
    U.remove(data, "some_root.ABC.another_tag");
    String newXml = U.toXml(data);
    assertEquals("<some_root>\n" +
            "  <ABC some_attribute=\"attribute\">some_value</ABC>\n" +
            "</some_root>", newXml);
于 2021-08-23T16:49:41.493 回答