当前位置: 代码迷 >> VFP >> 将XML字符串转换为VFP表时出现有关问题,应该怎么解决呢
  详细解决方案

将XML字符串转换为VFP表时出现有关问题,应该怎么解决呢

热度:9018   发布时间:2013-02-26 00:00:00.0
将XML字符串转换为VFP表时出现问题,应该如何解决呢?
通过VFP从远程的web services里取得并返回了一个XML字符串,要将此字符串转换成VFP表,却实现不了,
请高手指点,谢谢!
我的代码是这样的:
PUBLIC cxml as String 
thisform.setlcxmlstring()&&字符串赋值 
LOCAL oXMLAdapter as XMLAdapter
oXMLAdapter = NEWOBJECT('XMLAdapter') 
oXMLadapter.LoadXML(cXML,.f.) 
*oXMLAdapter.tables(1).tocursor()
FOR nloop =1 TO oXMLadapter.tables.count  
atable[nloop]=STRCONV(oXMLAdapter.tables(nloop).xmlname,6)
oXMLAdapter.tables(nloop).tocursor()
SELECT atable[nloop]
ctemp='c:\temp\td'+atable[nloop]
COPY TO &ctemp
endfor 
RELEASE oxmladapter 
运行之后,没有想要的表数据:(,请帮忙...

thisform.setlcxmlstring():
TEXT TO cxml noshow
<?xml version="1.0" encoding="UTF-8"?>

<XML_PriceAvailability_Response>
  <Header>
  <TransSetIDCode>846REC</TransSetIDCode>
  <TransControlID/>
  <ResponseVersion>1.4</ResponseVersion></Header>
  <Detail>
  <LineInfo>
  <RefIDQual1>VP</RefIDQual1>
  <RefID1>296460</RefID1>
  <RefIDQual2>MG</RefIDQual2>
  <RefID2>KTC3088/64</RefID2>
  <RefIDQual4>UP</RefIDQual4>
  <RefID4>740617030693</RefID4>
  <ProductDesc>64MB COMPAQ PRESARIO </ProductDesc>
  <PriceIDCode1>CON</PriceIDCode1>
  <UnitPrice1>$27.77</UnitPrice1>
  <PriceIDCode2>MSR</PriceIDCode2>
  <UnitPrice2>$0.00</UnitPrice2>
  <RequiredEndUserInfo>N</RequiredEndUserInfo>
  <RequiredLicenseInfo>N</RequiredLicenseInfo>
  <ProductWeight>0.200</ProductWeight>
  <ItemStatus>DIS-VN</ItemStatus>
  <WhseInfo>
  <IDCode>FL &amp; EXPORT ONLY</IDCode>
  <WhseCode>A1</WhseCode>
  <Qty>0</Qty></WhseInfo>
  <WhseInfo>
  <IDCode>SUWANEE, GA</IDCode>
  <WhseCode>A2</WhseCode>
  <Qty>0</Qty></WhseInfo>
  <WhseInfo>
  <IDCode>SWEDESBORO, NJ</IDCode>
  <WhseCode>A3</WhseCode>
  <Qty>0</Qty></WhseInfo>
  <WhseInfo>
  <IDCode>SOUTH BEND, IN</IDCode>
  <WhseCode>A4</WhseCode>
  <Qty>0</Qty></WhseInfo>
  <WhseInfo>
  <IDCode>FT WORTH, TX</IDCode>
  <WhseCode>A5</WhseCode>
  <Qty>0</Qty></WhseInfo>
  <WhseInfo>
  <IDCode>FONTANA, CA</IDCode>
  <WhseCode>A6</WhseCode>
  <Qty>0</Qty></WhseInfo></LineInfo>
  <LineInfo>
  <RefIDQual1>VP</RefIDQual1>
  <RefID1>180054</RefID1>
  <ErrorInfo>
  <RefIDQual3>1Q</RefIDQual3>
  <RefID3>0</RefID3>
  <ErrorDesc>The requested item was not found in our product database</ErrorDesc></ErrorInfo></LineInfo></Detail>
  <Summary>
  <NbrOfSegments>12</NbrOfSegments></Summary></XML_PriceAvailability_Response>

ENDTEXT

------解决方案--------------------------------------------------------
  相关解决方案