TCppWebBrowser를 사용하시는 방법보다는 MSHTML에 IHTMLDocument2, IHTMLElement등으로
HTML 문서내의 ID로 접근하시는 것이 속도는 빠를 겁니다.
즉, 아래와 같이 필요한 부분에 id를 적용하시면 더욱 편하실 겁니다.
------------------------------
<table width="295" height="97" border="1">
<tr>
<td id="aaa">Test AAA</td>
<td> </td>
<td> </td>
</tr>
...
</table>
...
<table width="296" height="121" border="1">
<tr>
<td> </td>
<td id="bbb">Test BBB</td>
<td> </td>
</tr>
...
</table>
---------------------------------
참고 문서가 있으니 보시고 성공하시기 바랍니다.
http://cbuilder.borlandforum.com/impboard/attach/0000078827/bcbj_vol9_num6.pdf
또한,
다른 방법은 TCppWebBrowser의 Document.OleProperty("body")로 문서를 읽어서 정규식으로 추출하는 방법도 있습니다. 다양한 방법이 있으니 시도해 보시고 가장 효율적인 방법을 찾으시길 바랍니다.
야누 님이 쓰신 글 :
: CppWebBrowser를 이용하여서
:
: html안에 테이블을 읽으려고 합니다.
:
: 하려는 작업은 아래와 같은 html에서 AAA, BBB부분을 읽어내는 건데요.
:
:
:
:
:
:
: |
: AAA
: |
:
:
:
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
:
: |
:
:
:
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
:
: |
:
:
:
:
:
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
:
: |
:
:
:
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
:
: |
:
:
:
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
:
: |
:
:
:
:
:
:
:
:
:
: |
: BBB
: |
:
:
:
: |
:
:
:
: |
:
:
: |
:
:
: |
:
:
:
: |
:
:
:
: |
:
:
:
:
:
: Variant MyDocument = CppWebBrowser1->Document;
: Variant ovTable;
: for(i=0;i < MyDocument.OlePropertyGet("all").OleFunction("tags", "TABLE").OlePropertyGet("Length"); i++)
: {
: ovTable= MyDocument.OlePropertyGet("all").OleFunction("tags", "TABLE").OleFunction("Item", i);
: // 작업..........
:
: }
: 와 같은 식으로 하니까 table 안에 있는 table도 모두 읽어서 작업을 하더라구요.
:
: 그냥 맨 바깥쪽에 있는 두개 테이블(2X3 table) 만 읽어서 작업할 수 있는 방법이 있을까 싶어서
:
: 질문 드립니다.
:
: ps. 이게 테이블이 많아지니까
: ovTable= MyDocument.OlePropertyGet("all").OleFunction("tags", "TABLE").OleFunction("Item", i);
: 하는 부분에서
: 속도가 너무 오래걸리더라구요.
:
: 그래서 질문 드려봅니다.