我需要從解析的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文件,我必須這樣做。 :)
我還是要問,爲什麼你解析XML的方式。 Java帶有內置的庫來爲你解析XML。通過字符串做這件事很容易出錯。 – 2010-11-10 12:01:20
是的,我知道它帶有內置的解析器。我的老闆命令我這樣做。 – Igor 2010-11-10 13:12:18