【问题标题】:Create a Nodelist XML in Java在 Java 中创建 Nodelist XML
【发布时间】:2014-01-15 08:00:47
【问题描述】:

我在尝试创建与此 json 结构匹配的 XML 文件时遇到了困难,

"properties": {
    "network_id": {
      "get_resource": "private_net"
    }, 
    "fixed_ips": [
      {
        "subnet_id": {
          "get_resource": "private_subnet"
        }
      }
    ]
  }

我的问题是尝试在 XML 中创建出现在节点 "fixed_ips" 之后的符号 [ ]。我试过的是这个,

//This part of the code is in a for loop
Element propertiesn = doc.createElement("properties");
serverports.appendChild(propertiesn);
Element networkidd = doc.createElement("network_id");
propertiesn.appendChild(networkidd);
Element getress = doc.createElement("get_resource");
getress.appendChild(doc.createTextNode("private_net"));
networkidd.appendChild(getress);

Element fixesips = doc.createElement("fixed_ips");
propertiesn.appendChild(fixesips);
Element qq = doc.createElement("qq");
fixesips.appendChild(qq);
Element subnetid = doc.createElement("subnet_id");
qq.appendChild(subnetid);
Element getresss = doc.createElement("get_resource");
getresss.appendChild(doc.createTextNode("private_subnet"+i6));
subnetid.appendChild(getresss);
Element qq2 = doc.createElement("qq");
fixesips.appendChild(qq2);

这就是我得到的,

 "properties": {
    "network_id": {
      "get_resource": "private_net"
    },
    "fixed_ips": [
      {
        "subnet_id": {
          "get_resource": "private_subnet1"
        }
      },
      []
    ]
  }

如您所见,它很近,但还不够近。任何帮助,将不胜感激。提前致谢。

【问题讨论】:

    标签: java xml json parsing


    【解决方案1】:

    字符'['表示集合类型,表示“fixed_ips”是“properties”元素中的集合类型。

    即类属性 {

       public ArrayList<fixed_ips> list;
           setters & getters
    }
    

    类fixed_ips {

       public Subnet_id sid;
           setters & getters
    }
    

    在文档创建类中应该是这样的

    属性 p=新属性; ArrayList locallist=p.getList();

    fixed_ips f1=新的fixed_ips(); f1.setSid("某事");

    fixed_ips f2=新的fixed_ips(); f2.setSid("某事");

    locallist.add(f2);

    p.setList(localList);

    然后你会得到那个 '[' 。但问题是,在 localList 中,如果您仅添加一个 fixed_ibs 元素,则“[”符号变为可选。如果 arrayList 中有多个元素,那么只有 '[' 会出现。

    或者

    <?xml version="1.0" encoding="UTF-8" ?>
        <properties>
            <network_id>
                <get_resource>private_net</get_resource>
            </network_id>
            <fixed_ips>
                <subnet_id>
                    <get_resource>private_subnet</get_resource>
                </subnet_id>
            </fixed_ips>
                    <fixed_ips>
                <subnet_id>
                    <get_resource>private_subnet</get_resource>
                </subnet_id>
            </fixed_ips>
        </properties>
    

    你会得到那个 [.

    输出将是

    {
      "properties": {
        "network_id": { "get_resource": "private_net" },
        "fixed_ips": [
          {
            "subnet_id": { "get_resource": "private_subnet" }
          },
          {
            "subnet_id": { "get_resource": "private_subnet" }
          }
        ]
      }
    }
    

    谢谢

    【讨论】:

    • 谢谢,但这与我想要实现的 json 结构不匹配。
    猜你喜欢
    • 2021-03-14
    • 2014-12-19
    • 1970-01-01
    • 2013-01-12
    • 2021-02-07
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多