当前位置: 代码迷 >> PB >> PB解析XML的有关问题。小弟我是初学者,劳烦了
  详细解决方案

PB解析XML的有关问题。小弟我是初学者,劳烦了

热度:152   发布时间:2016-04-29 09:26:00.0
求助PB解析XML的问题。。。我是菜鸟,劳烦各位高手了
是这样的,我有一个Data.xml文件 具体里面内容如下:

<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">

<s:Schema id="RowsetSchema">...</s:Schema>

<rs:data>
<z:row id="51030200003101" clpzh="川C08677" cpys="黄色" clcp="解放牌" cpxh="CA4252P21K2T1A" cgzh="" fdjh="50655282" dph="LFWSRXNJ451A05459" ccrq="2006-03-01T00:00:00" csys="" rllx="柴油 " cldw=".000" gcrq="2006-03-01T00:00:00" jjlx="有限 " ickh=" " yy_dlyszh="0014268" yy_fzsj="2010-08-12T00:00:00" yy_jyfw="普通货运" yy_cyhz="" yy_yyzt="营运" yy_sfgkjy="" yy_sfcrj="True" yc_yczh="" yc_ycnr="" yc_ycfs="" cz_czxm="" cz_czdz="" cz_sfzh="" cz_bz="" cz_jsy1="" cz_jsy2="" cz_jsy3="" cz_fwzgzh1="" cz_fwzgzh2="" cz_fwzgzh3="" cz_dy_yh=" " cz_dy_bz="" cz_jyxkzh="510302000585" lock="0" username="杨玉康" yhbm="51030200000438" ssxs="51030200" ssdq="51030000" cx="大货" bclb="" yslb="牵引车" kcjb="" kclx="" sspq=" " nsrq="2011-09-16T00:00:00" nsjg="合格 " jsdj="二级车" jsdjpdrq="2011-09-16T00:00:00" jsdjyxrq="2012-09-13T00:00:00" jdrq="2006-11-14T00:00:00" jdqjl="" zlkhjg=" " bcewrq="2011-09-14T00:00:00" xcewrq="2011-12-14T00:00:00" dah="" csbz="0" cxbz="0" scbz="0" yxrq="2006-11-14T00:00:00" hdzzl="0" cc="6888" ck="2490" cg="3240" zqyzzl="35700.00" rowguid="{CAC6B4A5-9B61-4652-8C50-02D3E4C1A33B}" sfdy="1" print_ssxs="51030200" print_username="霍革军" print_date="2010-08-12T00:00:00" yhmc="自贡三辰实业有限公司" c112="51030200000438"/>
</rs:data>

</xml>



我想得到<rs:data>和</rs:data>之间的内容(汉字不能是乱码),我之前用fileopen读出来函子就是乱码,PBdom 用的也很不熟悉,由于 <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">与</xml>这个跟节点不是规则对应的,所以一直无法读出中间的数据,还请各位大哥高手帮个忙,下周就要用了,最好有例子给小弟看看,参考一下,不胜感谢。在线等,qq联系也行524889033,谢谢了

------解决方案--------------------
用FileOpen时注意打开的编码格式,你要先确认XML文件的具体编码格式是什么,然后才能正确读取里面的文本。 FileOpen函数原型:
-------------------------
FileOpen ( filename {, filemode {, fileaccess {, filelock {, writemode { encoding }}}}} )
filename
 A string whose value is the name of the file you want to open. If filename is not on the current directory's relative search path, you must enter the fully qualified name.
 
filemode (optional)
 A value of the FileMode enumerated type that specifies how the end of a file read or file write is determined. Values are:

LineMode! – (Default) Read or write the file a line at a time

StreamMode! – Read blocks of binary data

TextMode! – Read text blocks

For more information, see Usage below.
 
fileaccess 
(optional)
 A value of the FileAccess enumerated type that specifies whether the file is opened for reading or writing. Values are:

Read! – (Default) Read-only access

Write! – Write-only access

If PowerBuilder does not find the file, a new file is created if the fileaccess argument is set to Write!
  相关解决方案