我现在想得是将一个xml文件得值 全部弄到数据库表中
数据库表什么值没有
我用一个ADOQuery查询出xml得值
然后想用ADOQuery放到数据库中
数据库表什么值没有
我用一个ADOQuery查询出xml得值
然后想用ADOQuery放到数据库中
解决方案 »
- 咨询关于DELPHI进行WEB SERVICE客户端编程的问题
- VCL用了这么久,却没想到被一个不是难题的难题难倒了。。。。
- 设计操作员菜单权限的基本设计思想怎么样?
- **请问如何拦截双击窗体标题栏的消息,并处理它?**
- 高分求助,能不能通過internet,直接向對方發送消息,兩方都是win2000.
- 关于对注册表操作的一些疑问?
- 如何还能把 formula one 控件的上面的 A B C 和行号1 2 3。。。 标题文字不见,注意是文字。
- 关于异常处理的问题
- 大家做程序时,是否都进行了需求分析这一步骤?
- 使用TNMudp控件遇到的一个问题
- 关于数据记录复制插入的问题?
- 怎么样在ListView中显示以Treeview 选中的内容为条件的记录
自己打包的XML結構是什麼樣的,自己再做個解析再轉入就行了。
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("~/bookstore.xml"));再用for循环写入数据库
另外,我原来写过的
procedure DealXml(strXmlName:PChar);
var
//根结点和一级子结点
node,subnode :IXMLNode;
//一级和二级子结点列表
nodelist,subnodelist: IXMLNodeList;
//一级和二级子结点的数目
subCount,subsubCount: integer;
j, k:integer;
//记录条数
RecCount: Integer;
//插入数据库的SQL语句
insertSql: string;
errstr: string;
XMLDoc:IXMLDocument;
qryLogin:TADOQuery;
begin
if length(strXmlName) <= 0 then
begin
//Application.MessageBox(PChar('传入的XML文件为空'), PChar('错误'), mb_ok + mb_iconerror);
//writeLog
Exit;
end; XMLDoc:=TXMLDocument.Create(nil);
XMLDoc.LoadFromFile(strXmlName);
XMLDoc.Active := true;
//根结点
node := XMLDoc.DocumentElement;
//如果只有根结点的子结点数量不对,说明文件不对
subCount := node.ChildNodes.Count;
//需要下载的文件数量是30个,不需要下载的在xml中没有节点
if subCount<>30 then
begin
//WriteLog('下载的xml文件不正确');
//exit;
end;
nodelist := node.ChildNodes;
subnode := nodelist.Nodes[0];
subsubcount := subnode.ChildNodes.Count;
//SYS_User
if subsubcount > 0 then //如果有记录,就更新到数据库
begin
recCount := subsubcount div 19;
subnodelist := subnode.ChildNodes;
k := 0;
for j:=0 to recCount-1 do
begin
insertSql:='INSERT INTO SYS_User VALUES (';
insertSql:=insertSql+subnodelist.Nodes[k].Text+','; //id
k:=k+1;
insertSql:=insertSql+'"'+subnodelist.Nodes[k].Text+'"'+','; //username
k:=k+1;
insertSql:=insertSql+'"'+subnodelist.Nodes[k].Text+'"'+','; //pwd
k:=k+1;
insertSql:=insertSql+subnodelist.Nodes[k].Text+')'; //pwdtype
k:=k+1;
with qryLogin do begin
SQL.Clear;
sql.Add(insertSql);
ExecSQL;
end;
end;
end;
<?xml version="1.0" encoding="GB2312" ?>
- <root>
- <SYS_User>
<ID>1001</ID>
<UserName>Hunter</UserName>
<Pwd>DBD5</Pwd>
<PwdType>0</PwdType>
</SYS_User>
<?xml version="1.0" encoding="GB2312" ?>
<root>
<SYS_User>
<ID>1001</ID>
<UserName>Hunter</UserName>
<Pwd>DBD5</Pwd>
<PwdType>0</PwdType>
</SYS_User>
</root>
dsXML.SaveToFile('TableName.xml',pfXML);
dsXML.LoadFromFile('TableName.xml');