gpt4 book ai didi

java - 在一行中插入多个值

转载 作者:行者123 更新时间:2023-12-01 16:00:17 25 4
gpt4 key购买 nike

我需要将已解析的 XML 文件中的数据插入到 mySQL 表中。问题是我的属性很少,不知道如何将它们插入一行。我尝试使用 updateString 但它只写入最后一个属性。

以下是 XML 文件的示例:

<Tr rn=\"999999999999999\" vr=\"T\" sSpre=\"S\" reg=\"P\" dSpre=\"2010-09-30\" dOdprt=\"2000-01-01\" iban=\"SI56\" eno=\"R\" vir=\"R\" maticnaPps=\"00000000\"><Imetnik davcna=\"0000000\" matSub=\"0000000\" drz=\"705\"><PopolnoIme>xxx</PopolnoIme><KratkoIme>xxx</KratkoIme><Naslov sifTipNaslova=\"01\" sifObcina=\"039\" sifPosta=\"1303\" sifUlica=\"0000\" sifNaselje=\"059\" stHisna=\"027\" sifHsmid=\"11694551\"><Obcina>xxx</Obcina><Posta>xxx</Posta><Ulica>xxx</Ulica><Naselje>xxx</Naselje></Naslov></Imetnik></Tr>

这是我用来在 mySQL 表中写入的 java 程序的草稿。

if (myWorkLine.substring(0,4).equals(Tr)) {

uprs.afterLast();
uprs.moveToInsertRow();

if (myWorkLine.contains(Tr)) {
myWorkLine = myWorkLine.substring(myWorkLine.indexOf(Tr)+4);
while (!myWorkLine.substring(0,1).equals("<")) {
myTag = myWorkLine.substring(0,myWorkLine.indexOf("="));
myWorkLine = myWorkLine.substring(myWorkLine.indexOf("=")+2);
myValue = myWorkLine.substring(0,myWorkLine.indexOf("\""));
myWorkLine = myWorkLine.substring(myWorkLine.indexOf("\"")+2);
uprs.updateString("Tr",myTag + " " + myValue);
if (myWorkLine.substring(0,myWorkLine.indexOf("\">")).indexOf(">") > 0)
break;
}
}

因此,我需要在 MySQL 表列 Tr 中包含属性 rn 值、vr 值、sSpre 值,...

提前致谢。

P.S.:请不要问我为什么用这种方法解析 XML 文件,我不得不这样做。 :)

最佳答案

您的代码将重复用标签+“”+值的串联替换“Tr”列,因此它只会是最后一个进入的列。您是否不希望不同的标签进入不同的列?或者也许您需要继续连接并仅在最后调用 updateString。

您能否为给定的 XML 发布所需的表格行?这应该有助于确定您想要实现的目标。

例如,如果您只想附加它们:

StringBuffer tr = new StringBuffer();
while (!myWorkLine.substring(0,1).equals("<")) {
myTag = myWorkLine.substring(0,myWorkLine.indexOf("="));
myWorkLine = myWorkLine.substring(myWorkLine.indexOf("=")+2);
myValue = myWorkLine.substring(0,myWorkLine.indexOf("\""));
myWorkLine = myWorkLine.substring(myWorkLine.indexOf("\"")+2);
tr.append(myTag + " " + myValue).append(",");
if (myWorkLine.substring(0,myWorkLine.indexOf("\">")).indexOf(">") > 0)
break;
}
if (tr.length() > 0) {
tr.deleteCharAt(tr.length()-1); // get rid of last comma
}
uprs.updateString("Tr",tr.toString());

关于java - 在一行中插入多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143911/

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