일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- php
- vps
- flex
- 그누보드
- vultr
- 자동블로그
- Ajax
- 챗지피티
- Python
- 아두이노
- c#
- ChatGPT
- 프로그램
- 아두이노 강좌
- HTML
- 무료일러스트
- cocos2d-x
- 아두이노 초보
- Php공부
- 웹
- 쿠팡파트너스
- 자바스크립트
- 가상서버
- 자동글쓰기
- 자동포스팅
- Javascript
- 파이썬
- 아두이노 기초강좌
- 파싱
- 워드프레스
- Today
- Total
플밍
XML 읽어오기 본문
//============================================================
// XML 읽어오기
//============================================================
procedure TfrmMain.XMLRead(Xurl: string);
var
XMLURL : String;
ADPLocalFile : TFileName;
StartItemNode : IXMLNode;
ANode : IXMLNode;
STitle, sDesc, sLink, sDate : widestring;
begin
ListView1.Clear;
XMLURL := Xurl;
ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'temp.adpheadlines.xml';
Screen.Cursor:=crHourglass;
try
if not DownloadURLFile(XMLURL, ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
Raise Exception.CreateFmt('올바른 주소가 아니거나 알 수 없는 이유로 에러가 발생했습니다.',[]);
Exit;
end;
if not FileExists(ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
raise exception.Create('XML문서에 에러가 있습니다');
Exit;
end;
XMLDoc.FileName := ADPLocalFile;
XMLDoc.Active:=True;
StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
ANode := StartItemNode;
if ANode = nil then
begin
showmessage('해당 피드(RSS)에 정보가 없습니다');
XMLDoc.Active := False;
exit;
end;
repeat
STitle := ANode.ChildNodes['title'].Text;
sLink := ANode.ChildNodes['link'].Text;
sDesc := ANode.ChildNodes['description'].Text;
sDate := ANode.ChildNodes['pubDate'].Text;
if sDate = '' then sDate := ANode.ChildNodes['dc:date'].Text;
//add to list view
with ListView1.Items.Add do
begin
Caption := STitle;
SubItems.Add(sDate);
SubItems.Add(sLink);
SubItems.Add(sDesc);
end;
ANode := ANode.NextSibling;
until ANode = nil;
XMLDoc.Active:=False;
finally
DeleteFile(ADPLocalFile);
Screen.Cursor:=crDefault;
XMLDoc.Active:=False;
end;
end;