HtmlDocument 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WebBrowser 컨트롤에 호스트된 HTML 문서를 최상위 수준의 프로그래밍 방식으로 액세스할 수 있도록 합니다.
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- 상속
-
HtmlDocument
예제
다음 코드 예제에서는 Northwind 데이터베이스에서 데이터를 사용 하 여 만들려는 HTML TABLE
동적으로 사용 하 여 CreateElement입니다.
AppendChild 메서드는 또한, 먼저 셀을 추가 하려면 (TD
요소) 행 (TR
요소), 다음 테이블에 행을 추가 하려면 마지막으로 현재 문서의 끝에 테이블을 추가할. 이 코드 예제 애플리케이션에 WebBrowser 제어 라는 WebBrowser1
합니다. 문서를 로드 한 후 코드를 호출 해야 합니다.
private void DisplayCustomersTable()
{
DataSet customersSet = new DataSet();
DataTable customersTable = null;
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
sda.Fill(customersTable);
customersTable = customersSet.Tables[0];
if (webBrowser1.Document != null)
{
HtmlElement tableRow = null;
HtmlElement headerElem = null;
HtmlDocument doc = webBrowser1.Document;
HtmlElement tableElem = doc.CreateElement("TABLE");
doc.Body.AppendChild(tableElem);
HtmlElement tableHeader = doc.CreateElement("THEAD");
tableElem.AppendChild(tableHeader);
tableRow = doc.CreateElement("TR");
tableHeader.AppendChild(tableRow);
foreach (DataColumn col in customersTable.Columns)
{
headerElem = doc.CreateElement("TH");
headerElem.InnerText = col.ColumnName;
tableRow.AppendChild(headerElem);
}
// Create table rows.
HtmlElement tableBody = doc.CreateElement("TBODY");
tableElem.AppendChild(tableBody);
foreach (DataRow dr in customersTable.Rows)
{
tableRow = doc.CreateElement("TR");
tableBody.AppendChild(tableRow);
foreach (DataColumn col in customersTable.Columns)
{
Object dbCell = dr[col];
HtmlElement tableCell = doc.CreateElement("TD");
if (!(dbCell is DBNull))
{
tableCell.InnerText = dbCell.ToString();
}
tableRow.AppendChild(tableCell);
}
}
}
}
Private Sub DisplayCustomersTable()
' Initialize the database connection.
Dim CustomerData As New DataSet()
Dim CustomerTable As DataTable
Try
Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
DBQuery.Fill(CustomerData)
Catch dbEX As DataException
End Try
CustomerTable = CustomerData.Tables("Customers")
If (Not (WebBrowser1.Document Is Nothing)) Then
With WebBrowser1.Document
Dim TableElem As HtmlElement = .CreateElement("TABLE")
.Body.AppendChild(TableElem)
Dim TableRow As HtmlElement
' Create the table header.
Dim TableHeader As HtmlElement = .CreateElement("THEAD")
TableElem.AppendChild(TableHeader)
TableRow = .CreateElement("TR")
TableHeader.AppendChild(TableRow)
Dim HeaderElem As HtmlElement
For Each Col As DataColumn In CustomerTable.Columns
HeaderElem = .CreateElement("TH")
HeaderElem.InnerText = Col.ColumnName
TableRow.AppendChild(HeaderElem)
Next
' Create table rows.
Dim TableBody As HtmlElement = .CreateElement("TBODY")
TableElem.AppendChild(TableBody)
For Each Row As DataRow In CustomerTable.Rows
TableRow = .CreateElement("TR")
TableBody.AppendChild(TableRow)
For Each Col As DataColumn In CustomerTable.Columns
Dim Item As Object = Row(Col)
Dim TableCell As HtmlElement = .CreateElement("TD")
If Not (TypeOf (Item) Is DBNull) Then
TableCell.InnerText = CStr(Item)
End If
TableRow.AppendChild(TableCell)
Next
Next
End With
End If
End Sub
설명
HtmlDocument Internet Explorer의 문서 개체 라고도 HTML 문서 개체 모델 (DOM) 관련 관리 래퍼를 제공합니다. 인스턴스를 가져올 수 HtmlDocument 를 통해를 Document 의 속성을 WebBrowser 컨트롤입니다.
HTML 태그를 HTML 문서 내에서 서로 중첩 될 수 있습니다. HtmlDocument 따라서 자식을 인스턴스인 문서 트리를 나타내는의 HtmlElement 클래스입니다. 다음 코드 예제에서는 간단한 HTML 파일을 보여 줍니다.
<HTML>
<BODY>
<DIV name="Span1">Simple HTML Form</DIV>
<FORM>
<SPAN name="TextLabel">Enter Your Name:</SPAN>
<INPUT type="text" size="20" name="Text1">
</FORM>
</BODY>
</HTML>
이 예에서 HtmlDocument 내에서 전체 문서를 나타내는 HTML
태그입니다.
BODY
, DIV
, FORM
하 고 SPAN
태그는 개별적으로 표시 됩니다 HtmlElement 개체입니다.
여러 가지 방법으로이 트리에서 요소에 액세스할 수 있습니다. 사용 합니다 Body 속성에 액세스를 BODY
태그와 모든 자식입니다. 합니다 ActiveElement 속성을 사용 하면는 HtmlElement 사용자 입력 포커스가 있는 HTML 페이지의 요소에 대 한 합니다. HTML 페이지 내에서 모든 요소는 이름이 있습니다. 합니다 All 각각에 대 한 액세스를 제공 하는 컬렉션 HtmlElement 해당 이름을 인덱스로 사용 하 여 합니다.
GetElementsByTagName 반환 합니다는 HtmlElementCollection 모든 HtmlElement 와 같은 지정 된 HTML 태그 이름으로 개체 DIV
또는 TABLE
합니다.
GetElementById 단일 돌아갑니다 HtmlElement 제공 하는 고유 ID에 해당 합니다.
GetElementFromPoint 돌아갑니다는 HtmlElement 화면에 제공 된 마우스 포인터의 좌표를 찾을 수 있습니다.
사용할 수도 있습니다는 Forms 및 Images 각각 나타내는 사용자 요소를 반복 하는 컬렉션 입력 폼, 그래픽 등입니다.
HtmlDocument Internet Explorer의 DHTML DOM으로 구현 된 관리 되지 않는 인터페이스를 기반으로 합니다. IHTMLDocument
, IHTMLDocument2
, IHTMLDocument3
, 및 IHTMLDocument4
합니다. 가장 자주 사용 되는 속성에 의해 관리 되지 않는 이러한 인터페이스에 메서드 노출 되 고 HtmlDocument입니다. 다른 모든 속성 및 메서드를 사용 하 여 직접 액세스할 수 있습니다는 DomDocument 속성에 원하는 관리 되지 않는 인터페이스 포인터에 캐스팅할 수 있습니다.
HTML 문서는 다양 한 창 프레임을 포함할 수 있습니다 안에 WebBrowser 제어 합니다. 각 프레임에는 자체 HTML 페이지가 표시 됩니다. Frames 컬렉션을 통해 제공 되는 Window 속성. 사용할 수도 있습니다는 Window 속성을 표시 된 페이지 크기 조정 문서 스크롤하거나 표시할 경고 및 사용자에 게 메시지를 표시 합니다.
HtmlDocument HTML 페이지를 호스팅하는 경우를 처리 하는 가장 일반적인 이벤트를 노출 합니다. 인터페이스에서 직접 노출 되지 않는 이벤트를 사용 하 여 이벤트 처리기를 추가할 수 있습니다 AttachEventHandler합니다.
HTML 파일에 포함 될 수 있습니다 SCRIPT
JScript 또는 VBScript와 같은 액티브 스크립팅 언어 중 하나로 작성 된 코드를 캡슐화 하는 태그입니다.
InvokeScript 에 정의 된 메서드 및 속성의 실행에 대 한 메서드는 제공 된 SCRIPT
태그입니다.
참고
의 대부분의 속성, 메서드 및 이벤트는 HtmlDocument 관리되지 않는 DOM에서와 동일한 이름을 유지하지만 일부는 .NET Framework와의 일관성을 위해 변경되었습니다.
속성
ActiveElement |
현재 입력 포커스가 있는 HtmlElement를 제공합니다. |
ActiveLinkColor |
사용자가 클릭할 때 하이퍼링크의 Color를 가져오거나 설정합니다. |
All |
문서의 모든 HtmlElementCollection 개체를 저장하는 HtmlElement 인스턴스를 가져옵니다. |
BackColor |
HTML 문서의 배경색을 가져오거나 설정합니다. |
Body |
|
Cookie |
이 문서와 연결된 HTTP 쿠키를 가져오거나 설정합니다. |
DefaultEncoding |
현재 문서에 기본적으로 사용되는 인코딩을 가져옵니다. |
Domain |
보안상의 이유로 이 문서의 도메인을 설명하는 문자열을 가져오거나 설정합니다. |
DomDocument |
이 HtmlDocument에 대한 관리되지 않는 인터페이스 포인터를 가져옵니다. |
Encoding |
이 문서에 대한 문자 인코딩을 가져오거나 설정합니다. |
Focused |
문서에 사용자 입력 포커스가 있는지 여부를 나타내는 값을 가져옵니다. |
ForeColor |
문서의 텍스트 색을 가져오거나 설정합니다. |
Forms |
문서에 있는 모든 요소의 |
Images |
문서에 있는 모든 이미지 태그의 컬렉션을 가져옵니다. |
LinkColor |
하이퍼링크의 색을 가져오거나 설정합니다. |
Links |
이 HTML 문서 내의 모든 하이퍼링크 목록을 가져옵니다. |
RightToLeft |
현재 문서의 텍스트 방향을 가져오거나 설정합니다. |
Title |
현재 HTML 문서에서 태그의 |
Url |
이 문서의 위치를 설명하는 URL을 가져옵니다. |
VisitedLinkColor |
사용자가 이미 방문한 HTML 페이지의 링크 색을 가져오거나 설정합니다. |
Window |
이 문서와 연결된 HtmlWindow를 가져옵니다. |
메서드
AttachEventHandler(String, EventHandler) |
명명된 HTML DOM 이벤트에 대한 이벤트 처리기를 추가합니다. |
CreateElement(String) |
지정한 HTML 태그 형식의 새 |
DetachEventHandler(String, EventHandler) |
HTML DOM의 명명된 이벤트에서 이벤트 처리기를 제거합니다. |
Equals(Object) |
현재 개체와 해당 개체가 같은지를 테스트합니다. |
ExecCommand(String, Boolean, Object) |
문서에 대해 지정한 명령을 실행합니다. |
Focus() |
현재 문서에 사용자 입력 포커스를 설정합니다. |
GetElementById(String) |
요소의 |
GetElementFromPoint(Point) |
지정한 클라이언트 좌표에 있는 HTML 요소를 검색합니다. |
GetElementsByTagName(String) |
지정한 HTML 태그가 있는 요소의 컬렉션을 검색합니다. |
GetHashCode() |
이 개체의 해시 코드를 검색합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InvokeScript(String, Object[]) |
HTML 페이지에 정의된 액티브 스크립트 함수를 실행합니다. |
InvokeScript(String) |
HTML 페이지에 정의된 액티브 스크립트 함수를 실행합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OpenNew(Boolean) |
HtmlDocument 메서드와 함께 사용할 새 Write(String)를 가져옵니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
Write(String) |
새 HTML 페이지를 작성합니다. |
연산자
Equality(HtmlDocument, HtmlDocument) |
지정된 HtmlDocument 인스턴스가 같은 값을 표시하는지 여부를 나타내는 값을 반환합니다. |
Inequality(HtmlDocument, HtmlDocument) |
지정된 HtmlDocument 인스턴스가 같은 값을 표시하지 않는지 여부를 나타내는 값을 반환합니다. |
이벤트
Click |
사용자가 문서의 아무 위치나 클릭하면 발생합니다. |
ContextMenuShowing |
사용자가 문서의 상황에 맞는 메뉴를 표시하도록 요청할 때 발생합니다. |
Focusing |
문서에 포커스가 지정되기 전에 발생합니다. |
LosingFocus |
포커스가 컨트롤을 벗어나는 동안 발생합니다. |
MouseDown |
사용자가 왼쪽 마우스 단추를 클릭하면 발생합니다. |
MouseLeave |
마우스가 문서를 더 이상 가리키지 않을 때 발생합니다. |
MouseMove |
마우스를 문서 위로 이동하면 발생합니다. |
MouseOver |
마우스를 문서 위로 이동하면 발생합니다. |
MouseUp |
사용자가 왼쪽 마우스 단추를 놓으면 발생합니다. |
Stop |
다른 웹 페이지에 대한 탐색이 중단되면 발생합니다. |
적용 대상
추가 정보
.NET