gpt4 book ai didi

java - 如何将多个xml值存储到java中

转载 作者:行者123 更新时间:2023-12-02 02:50:44 25 4
gpt4 key购买 nike

我的问题是如何传递多个 xml 值的值:

       <newInsert>
<src>BUDDY</src>
<dest>12345</dest>
<svcFlag>15</svcFlag>
<svcClass>0</svcClass>
<svcTypeID>ABCD</svcTypeID>
<callCode></callCode>
<prefix></prefix>

<src>BUDDY</src>
<dest>1245</dest>
<svcFlag>15</svcFlag>
<svcClass>1</svcClass>
<svcTypeID>ABDC</svcTypeID>
<callCode></callCode>
<prefix></prefix>

<src>BUDDY</src>
<dest>12321</dest>
<svcFlag>15</svcFlag>
<svcClass>1</svcClass>
<svcTypeID>AABS</svcTypeID>
<callCode></callCode>
<prefix></prefix>

</newInsert>

我现在如何存储它并将其粘贴到准备好的语句中?

我已经完成了单值 xml 的存储:

<newInsert>
<src>BUDDY</src>
<dest>12345</dest>
<svcFlag>15</svcFlag>
<svcClass>0</svcClass>
<svcTypeID>ABCD</svcTypeID>
<callCode></callCode>
<prefix></prefix>
</newInsert>

我能够将它存储在变量中:

for(int i = 0; i < nList.getLength(); i++) {
Node nodes = nList.item(i);

if (nodes.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) nodes;

src_name = element.getElementsByTagName("src").item(0).getTextContent();
dest = element.getElementsByTagName("dest").item(0).getTextContent();
svcFlag = element.getElementsByTagName("svcFlag").item(0).getTextContent();
svcClass = element.getElementsByTagName("svcClass").item(0).getTextContent();
svcTypeID = element.getElementsByTagName("svcTypeID").item(0).getTextContent();
callCode = element.getElementsByTagName("callCode").item(0).getTextContent();
prefix = element.getElementsByTagName("prefix").item(0).getTextContent();
}
}

这些变量被传递给准备好的语句:

st= con.prepareStatement(ins_query);
st.setString(1, src_name);
st.setString(2, dest);
st.setString(3, svcFlag);
st.setString(4, svcClass);
st.setString(5, svcTypeID);
st.setString(6, callCode);
st.setString(7, prefix);

最佳答案

你可以像这样创建新对象

public class Data{
private src_name;
private dest
private svcFlag
private svcClass
private svcTypeID
private callCode
private prefix
//getters and setters
}

然后在循环中,您可以为每次迭代创建新的数据对象并将其存储到列表中

List<String> nods = new ArrayList()<>;
......
if (nodes.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) nodes;
Data data = new Data();
data.setSrc_name(element.getElementsByTagName("src").item(0).getTextContent());
data.setDest(element.getElementsByTagName("dest").item(0).getTextContent());
............
}

然后您可以迭代 nods 列表并为每个数据对象创建语句,如下所示

nods.stream().forEach(nod->{
st= con.prepareStatement(ins_query);
st.setString(1,nod.getSrc_Name);
st.setString(2,nod.getDest);
.................
});

关于java - 如何将多个xml值存储到java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57109817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com