DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 4
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 bear28 ★☆☆☆☆ -
盒子活跃会员
2013/10/13 4:07:37
标题:
Xe5 android如何将IdHTTP1.Get回来的xml檔放入XmlDocument1来解析运用? 浏览:1686
加入我的收藏
楼主: procedure TForm1.Button1Click(Sender: TObject);
var
  sXml : string;
  RespData: TStringStream;
begin
  RespData := TStringStream.Create('', TEncoding.UTF8);
  IdHTTP1.Get('http://…/36.xml',RespData);
  sXml := RespData.DataString;

  XmlDocument1.LoadFromFile(sXml);
  XmlDocument1.Active:=true;
  …
  RespData.Free;
End;

上述Code能抓回xml,但无法使用在XmlDocument1?
Xe5 android如何将IdHTTP1.Get回来的xml檔放入XmlDocument1来解析运用?
谢谢
----------------------------------------------
-
作者:
男 zoujun3281 (无奈) ▲▲▲▲▲ -
普通会员
2013/10/13 11:13:21
1楼: 可以实现的  弄过
----------------------------------------------
delphi你妹
作者:
男 bear28 ( ) ★☆☆☆☆ -
盒子活跃会员
2013/10/13 13:30:25
2楼: 請指教,謝謝
----------------------------------------------
-
作者:
男 sail2000 (小帆工作室) ★☆☆☆☆ -
盒子活跃会员
2013/10/13 15:16:20
3楼: procedure TForm1.Button1Click(Sender: TObject);
var
  sXml : string;
  RespData: TStringStream;
begin
  RespData := TStringStream.Create('', TEncoding.UTF8);
  IdHTTP1.Get('http://…/36.xml',RespData);
  sXml := RespData.DataString;
  
  XmlDocument1.LoadFromFile(sXml);// loadfromfile 是需要從檔案中加載?  sXml 只是個string...
  XmlDocument1.Active:=true;
  …
  RespData.Free;
End;

2.你可能需要參考 http://qc.embarcadero.com/wc/qcmain.aspx?d=119351
--> XMLDocument under Android not compiling
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
男 bear28 ( ) ★☆☆☆☆ -
盒子活跃会员
2013/10/13 17:08:52
4楼: 謝謝
知道是要檔案加載,就是不知如何在android下,將string變為檔案來操作。
----------------------------------------------
-
作者:
男 bear28 ( ) ★☆☆☆☆ -
盒子活跃会员
2013/10/13 22:13:37
5楼: 已部分解決
procedure TForm1.Button1Click(Sender: TObject);
var
  RespData: TStringStream;
begin
  RespData := TStringStream.Create('', TEncoding.UTF8);
  IdHTTP1.Get('http://…/36.xml',RespData);
  RespData.SaveToFile('data.xml');

  XmlDocument1.LoadFromFile('data.xml');
  XmlDocument1.Active:=true;
  …
  RespData.Free;
End;
上述Code還有一個問題是android下,data.xml要存於何處?
謝謝
----------------------------------------------
-
作者:
男 sail2000 (小帆工作室) ★☆☆☆☆ -
盒子活跃会员
2013/10/14 8:50:08
6楼: 方法一:
//用內存流
var
  MS: TMemoryStream;
begin
  Ms := TMemoryStream.Create;
  IdHTTP1.Get('XMLURL',MS);
  XMLDocument1.LoadFromStream(MS, TEncoding.UTF8);
  ......
  MS.Free;
end;

方法二:
//直接操作 string
var
  sXML: string;
begin
  sXML := IdHTTP1.Get('XMLURL');
  XMLDocument1.LoadFromXML(sXML);
end;

方法三:
//讀寫系統中的 XML 文件
const
  XMLFile = 'MyXML.xml';
var
  RespData: TStringStream;
begin
  XMLPath := IncludeTrailingPathDelimiter(GetHomePath) + XMLFile;
  RespData := TStringStream.Create('', TEncoding.UTF8);
  IdHTTP1.Get('http://…/36.xml',RespData);
  RespData.SaveToFile(XMLPath);

  XmlDocument1.LoadFromFile(XMLPath);
  XmlDocument1.Active:=true;
  …
  RespData.Free;
End;
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
男 bear28 ( ) ★☆☆☆☆ -
盒子活跃会员
2013/10/14 10:01:31
7楼: 謝謝
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行1009.766毫秒 RSS