我的问题是如何传递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);发布于 2019-07-19 18:07:01
您可以像这样创建新对象
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());
............
}然后,您可以遍历每个数据对象的节点、列表和create语句,如下所示
nods.stream().forEach(nod->{
st= con.prepareStatement(ins_query);
st.setString(1,nod.getSrc_Name);
st.setString(2,nod.getDest);
.................
});https://stackoverflow.com/questions/57109817
复制相似问题