问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PB语言 如何将一个XML文档读取出来,读出每一个字段并保存到SQL SERVER数据库中

发布网友 发布时间:2022-05-05 07:17

我来回答

3个回答

热心网友 时间:2023-11-05 11:07

可以使用文件读取的方式,你先把C盘中的1.XML文件读入到一个字符型变量中,然后使用FIND的方式,查找XML文件的关键字定位,然后使用MID函数字符串截取的方式来截取XML文件中的值。
假设我的1.xml有如下内容
<pk_corp>0001</pk_corp>

//将文件读入ls_text
string ls_text
li_FileNum = FileOpen("C:\1.xml", StreamMode!)
FileRead(li_FileNum, ls_text)
FileClose(li_FileNum)

//利用POS截取
long ll_start_pos, ll_end_pos
ll_start_pos = Pos( ls_text, "<pk_corp>", 1 )
ll_end_pos = Pos( ls_text, “</pk_corp>", 1 )

-------得到内容
string ls_value
ls_value = mid(ls_text, ll_start_pos + 9, ll_end_pos - ll_start_pos - 9)

这样可以得到ls_value = '0001'

热心网友 时间:2023-11-05 11:07

可以使用文件读取的方式,你先把C盘中的1.XML文件读入到一个字符型变量中,然后使用FIND的方式,查找XML文件的关键字定位,然后使用MID函数字符串截取的方式来截取XML文件中的值。
假设我的1.xml有如下内容
<pk_corp>0001</pk_corp>

//将文件读入ls_text
string ls_text
li_FileNum = FileOpen("C:\1.xml", StreamMode!)
FileRead(li_FileNum, ls_text)
FileClose(li_FileNum)

//利用POS截取
long ll_start_pos, ll_end_pos
ll_start_pos = Pos( ls_text, "<pk_corp>", 1 )
ll_end_pos = Pos( ls_text, “</pk_corp>", 1 )

-------得到内容
string ls_value
ls_value = mid(ls_text, ll_start_pos + 9, ll_end_pos - ll_start_pos - 9)

这样可以得到ls_value = '0001'

热心网友 时间:2023-11-05 11:08

一般都是直接通过数据窗口导出xml。然后再倒入xml为PB导入导出数据的一大课题,
如果您感兴趣我可以给您提供完整代码和指导.每个xml中的模板格式都是不同的,如果是通过pb数据窗口导出的 是根据数据窗口设计画板(就是编剧数据窗口的画板中)最下方的导出模板设置的..如果不是也是有规律可循的. 你要根据其中的段落来进行导出 .
大致的顺序是 (获得文件路径和文件名)(打开文件,获得该文件句柄)GetFileOpenName() -(利用句柄打开文件所有数据)fileopen()- fileread() 然后再根据代码段标识符!用Mid截取你所需要的那一段数据.
具体事例代码如下:
假设1.xml文件有如下内容
<dj>750</dj>
//选择路径
string ls_filename//文件名
stringls_fullname//完整路径+文件名
long li_filenum
If GetFileOpenName ("请选择文件", ls_fullname, ls_Filename,"XML", "all Files (*.XML),*.XML",docname) < 1 THEN
RETURN
ELSE
ls_fullname = Trim(ls_fullname)
END IF
ls_filename = lower(ls_filename)//小写文件(一般存成的文件读取是.xml不是大写的.XML)
li_FileNum = FileOpen(ls_fullname,StreamMode!,Read!,LockWrite!)
FileRead(li_FileNum,ls_temp)

/利用POS截取
long ll_start, ll_end
ll_start = Pos( ls_text, "<dj>", 1 )
ll_end_ = Pos( ls_text, “</dj>", 1 )

//截取所获得内容
string ls_str
ls_str = mid(ls_temp,ll_start + 4,ll_end - 1)
//此时ls_str = '75'

热心网友 时间:2023-11-05 11:08

一般都是直接通过数据窗口导出xml。然后再倒入xml为PB导入导出数据的一大课题,
如果您感兴趣我可以给您提供完整代码和指导.每个xml中的模板格式都是不同的,如果是通过pb数据窗口导出的 是根据数据窗口设计画板(就是编剧数据窗口的画板中)最下方的导出模板设置的..如果不是也是有规律可循的. 你要根据其中的段落来进行导出 .
大致的顺序是 (获得文件路径和文件名)(打开文件,获得该文件句柄)GetFileOpenName() -(利用句柄打开文件所有数据)fileopen()- fileread() 然后再根据代码段标识符!用Mid截取你所需要的那一段数据.
具体事例代码如下:
假设1.xml文件有如下内容
<dj>750</dj>
//选择路径
string ls_filename//文件名
stringls_fullname//完整路径+文件名
long li_filenum
If GetFileOpenName ("请选择文件", ls_fullname, ls_Filename,"XML", "all Files (*.XML),*.XML",docname) < 1 THEN
RETURN
ELSE
ls_fullname = Trim(ls_fullname)
END IF
ls_filename = lower(ls_filename)//小写文件(一般存成的文件读取是.xml不是大写的.XML)
li_FileNum = FileOpen(ls_fullname,StreamMode!,Read!,LockWrite!)
FileRead(li_FileNum,ls_temp)

/利用POS截取
long ll_start, ll_end
ll_start = Pos( ls_text, "<dj>", 1 )
ll_end_ = Pos( ls_text, “</dj>", 1 )

//截取所获得内容
string ls_str
ls_str = mid(ls_temp,ll_start + 4,ll_end - 1)
//此时ls_str = '75'

热心网友 时间:2023-11-05 11:08

学习一下PBDOM吧

热心网友 时间:2023-11-05 11:08

学习一下PBDOM吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
圣斗士星矢正义传说攻略_圣斗士星矢正义传说新手攻略 圣斗士星矢正义传说怎么觉醒圣衣 圣衣玩法攻略 圣斗士星矢正义传说召唤石怎么获得 获取攻略一览 超市促销员手机上打卡迟到几分钟 在超市里打卡显示的公司是什么意思? 长鹿休闲度假农庄交通指南 求从容桂到长鹿农庄怎么坐车,详细,准确 形容神情的五字词语 女生内衣穿多久该扔掉 吴江离张家港有多远? 锅底灰怎么来的? 锅底每天都有灰是煤气的问题还是炉的问题 煤气灶做饭 锅底全是灰 是什么问题呀?求大神解决 谁能帮忙推荐几本关于Linux和arm的书(一些对Linux和arm具有参考意义的书) Linux和 arm 恳请专业人士赐教 那个网站的一对一数学 远程辅导好?? 网上一对一学小学数学应用题都有哪些网站好? 数学一对一怎么样 日立投影仪倒置后问题 辅导君数学一对一学习效果好不好,怎么样学习网课才能提高? 数学一对一网络补习哪个效果好? 疫情在家想给孩子找家一对一的数学线上课程? 通话两小时自动挂断怎么时间痛? 联通号打到两个小时就会自动挂断是为什么? 上海数学一对一辅导班口碑比较好的有哪些? n9006联通版每次打电话通话到了2小时就会自动的挂断是什么原因? 通话2小时自动挂断怎么取消- 问一问 iTunes上备份的照片在哪 笔记本电脑中说的 动态共享内存 是和什么共享的? 笔记本电脑的显卡的显存是共享系统内存,什么是共享系统内存? 去国税局开增值税专用发票,流程是什么?要带什么资料? 国税购买发票后开票系统要怎么操作 国税代开发票操作流程 3月17日出生是什么星座 3月17日是什么星座? 北京时间3月17日24时是几点 3月17阳历是多少号 3月17日用英语怎么写? 3月17日是什么星座 3月17日24点是今天还是明天? 全村用7年在绝壁上修8公里天路,他们是怎么做到的? 慢跑一公里几分钟最好 国内的“挂壁公路”是什么情况,如何修建的呢 生日是3月17日的名人或动漫人物有哪些? 村民用用血肉之躯在绝壁上凿出“天路”,如今该村庄的情况如何? 村民绝壁中凿出公路 被誉为&quot;世界第九大奇迹是哪个县 历史上3月17日出生的名人有谁? 如图所示:中国最险的公路在哪里啊? 村民千米绝壁上凿出天路,这么做给村民带来了啥便利? 历史上的3月17日 英语怎么说