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
[14799] Re:Re:[질문]XML로 디비를 가져올때 속도문제???
gomsun2 [vhrvnd723] 2447 읽음    2013-10-09 10:39
xml (json) 파싱간 사용하는 아이가 있는데요, SuperObject ( https://code.google.com/p/superobject/ ) 입니다.

unit이 달랑 두개 인데, 그중 한넘이 XML 파서입니다. https://code.google.com/p/superobject/source/browse/superxmlparser.pas
(Un)Marshalling도 지원되고, 어렵지 않게 사용했었습니다. 실제 XML 문서는 꽤나 짧고(1000~1500라인 정도) 단순하여 속도부분에서는 뭐라 드릴말이 없습니다. ㅡㅜ

Johannes Stein분이 demo를 작성, 공개( https://github.com/Stoney-FD/superobject )해 놓았네요. 참고하시면 될것 같습니다.

김상구.패패루 님이 쓰신 글 :
: 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 2447 2013/10/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.