作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是如何传递多个 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/
我是一名优秀的程序员,十分优秀!