Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14798] Re:[질문]XML로 디비를 가져올때 속도문제???
김상구.패패루 [peperu] 1933 읽음    2013-10-09 02:59
TXMLDocument는 MSXML 기반으로 속도가 많이 느립니다.
DOM을 쓰셔야 한다면 TinyXML같은 가벼운 것을 사용하시고(파스칼용은 뭐가 있는지 잘 모르겠지만) 데이터 양이 많다면 DOM보다는 SAX파서를 쓰시는게 좋을겁니다.

쿠핑 님이 쓰신 글 :
: 안녕하세요
:
: XML로 디비를 가저와서 뿌려주는데 XML이 웹상에 있다보니 속도 문제가 걸립니다.
:
:
: 가져오는 형태는
:
: procedure TfrmMain.XML_Load;
: var
:   xdRoot: TXMLDocument;
:   xnChild: IXMLNode;
:   xnGrandchild: IXMLNode;
:   I: Integer;
:   j, n: Integer;
:   RedordCount: Integer;
: begin
:   // XML Document 만들기
:   xdRoot := TXMLDocument.Create(Application);
:
:   // XML Document 불러오기
:   xdRoot.LoadFromFile(ConnectURL + 'upfile_list.php');
:   xdRoot.Active := True;
:
:   // 루트 노드가 없을 경우 종료
:   if xdRoot.ChildNodes.First = nil then Begin
:     Exit;
:   End;
:
:
:   xnChild := xdRoot.ChildNodes['DataList'];
:   RedordCount := StrToIntDef(xnChild.Attributes['TotalRecord'], 0);
:
:
:   if RedordCount = 0 then
:   begin
:     xdRoot.Free;
:   end
:   else begin
:     xnChild := xdRoot.DocumentElement.ChildNodes[0];
:     xnGrandchild := xnChild.ChildNodes[0];
:
:     lbTextNum.Caption :=  trim(xnGrandchild.Attributes['num'])
:   end;
:
:   xdRoot.Free;
:
: end;
:
: 이런씩으로 가져옵니다.
:
: 이때
:   // XML Document 불러오기
:   xdRoot.LoadFromFile(ConnectURL + 'upfile_list.php');
:   xdRoot.Active := True;
:
: 이 부분에서 웹을 띄워야 하는 부분이 있어 속도가 느린지 일반적으로 디비를 쿼리하는것보다 상당히 느리더라구요
:
: XML로 데이터를 가져올때 속도를 생각해서 가져오는 방법이 없나요???
:
: 부디 노하우 답글 좀 부탁드립니다.
:
:

+ -

관련 글 리스트
14797 [질문]XML로 디비를 가져올때 속도문제??? 쿠핑 1870 2013/10/08
14798     Re:[질문]XML로 디비를 가져올때 속도문제??? 김상구.패패루 1933 2013/10/09
14799         Re:Re:[질문]XML로 디비를 가져올때 속도문제??? gomsun2 2448 2013/10/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.