HTML 파일로 작업하는 효율적인 방법을 찾고 있는 C# 프로그래머라면 이 문서가 적합합니다. 처음부터 HTML 파일을 생성하는 것부터 기존 문서를 읽고 편집하는 것까지 C#이 HTML 파일과 어떻게 작동하는지에 대한 기본 사항을 설명합니다. 이 기사에서는 C#에서 HTML 파일을 만들고 읽고 편집하는 방법을 배웁니다.
HTML(Hyper Text Markup Language)은 웹 사이트 및 웹 페이지를 만드는 데 사용되는 언어입니다. 반면에 C#은 애플리케이션을 구축하는 데 사용되는 객체 지향 프로그래밍 언어입니다. HTML 파일에는 브라우저에 표시할 웹 페이지 구조의 형식을 지정하는 데 사용되는 마크업 태그가 포함되어 있습니다. .NET 애플리케이션에서 프로그래밍 방식으로 HTML 파일을 쉽게 조작할 수 있습니다. 이 기사에서는 C#을 사용하여 HTML 파일을 읽고 쓰고 편집하는 방법을 살펴봅니다. 특정 요소에 대한 HTML 코드를 구문 분석하고 처음부터 새 요소를 만들거나 기존 요소를 편집하는 방법을 살펴보겠습니다. 의 시작하자!
이 문서에서는 다음 항목을 다룹니다.
HTML 파일 생성, 읽기 및 편집을 위한 C# API
HTML 파일을 생성, 읽기 및 편집하기 위해 Aspose.HTML for .NET API를 사용합니다. HTML 문서에서 데이터를 생성, 수정 및 추출할 수 있는 고급 HTML 처리 API입니다. 또한 외부 소프트웨어 없이 HTML 문서를 변환하고 렌더링할 수 있습니다.
API의 HTMLDocument 클래스는 브라우저에 표시되는 HTML 문서 또는 HTML 페이지를 나타냅니다. 이 클래스의 CreateElement() 메서드는 tagName으로 지정된 HTML 요소를 만듭니다. CreateTextNode(string) 메서드는 지정된 문자열이 있는 텍스트 노드를 만듭니다. Node 인터페이스의 AppendChild() 메서드는 지정된 부모 노드의 자식 목록 끝에 노드를 추가합니다. Save() 메서드는 출력 파일을 저장합니다. 문서에서 DOM 네임스페이스에 대한 자세한 내용을 읽을 수도 있습니다.
API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.
PM> Install-Package Aspose.Html
C#에서 HTML 파일 만들기
아래 단계에 따라 HTML 파일을 쉽게 만들 수 있습니다.
- 먼저 HTMLDocument 클래스의 인스턴스를 만듭니다.
- 그런 다음 CreateElement() 메서드를 호출하여 제목, 단락, 텍스트 등과 같은 요소를 만듭니다.
- 그런 다음 CreateTextNode() 메서드를 호출하여 텍스트 노드를 추가합니다.
- 다음으로 AppendChild() 메서드를 사용하여 생성된 노드를 요소에 추가합니다.
- 그런 다음 HTMLDocument.Body.AppendChild() 메서드를 사용하여 문서 본문에 요소를 연결합니다.
- 더 많은 요소를 추가하려면 위의 단계를 반복합니다.
- 마지막으로 Save() 메서드를 사용하여 HTML 문서를 저장합니다. 출력 파일 경로를 인수로 사용합니다.
다음 코드 샘플은 C#을 사용하여 HTML 파일을 만드는 방법을 보여줍니다.
// 이 코드 예제는 HTML 문서를 만드는 방법을 보여줍니다.
// 빈 HTML 문서 만들기
var document = new HTMLDocument();
// 제목 추가
// 1. 제목 요소 만들기
var h2 = (HTMLHeadingElement)document.CreateElement("h2");
// 2. 텍스트 요소 만들기
var text = document.CreateTextNode("This is Sample Heading!");
// 3. 제목에 텍스트 요소 추가
h2.AppendChild(text);
// 4. 제목 추가 to the document
document.Body.AppendChild(h2);
// 단락 추가
// 1. 단락 요소 만들기
var p = (HTMLParagraphElement)document.CreateElement("p");
// 2. 사용자 정의 속성 설정
p.SetAttribute("id", "first-paragraph");
// 3. 텍스트 노드 생성
var paraText = document.CreateTextNode("This is first paragraph. ");
// 4. 단락에 텍스트 추가
p.AppendChild(paraText);
// 5. 문서 본문에 단락 첨부
document.Body.AppendChild(p);
// 정렬된 목록 추가
// 단락 요소 만들기
var list = (HTMLOListElement)document.CreateElement("ol");
// 리 항목 1 추가
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));
// 리 항목 2 추가
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));
// 목록에 li 항목 추가
list.AppendChild(item1);
list.AppendChild(item2);
// 문서 본문에 목록 첨부
document.Body.AppendChild(list);
// HTML 문서를 파일로 저장
document.Save(@"C:\Files\html\create-new-document.html");
C#에서 HTML 파일 읽기
이전 섹션에서는 HTML 파일을 만들었습니다. 이제 아래 단계에 따라 파일을 로드하고 내용을 읽습니다.
- HTMLDocument 클래스를 사용하여 기존 HTML 파일을 로드합니다.
- HTMLDocument.DocumentElement.OuterHTML의 내용을 읽고 표시합니다.
다음 코드 샘플은 C#을 사용하여 HTML 파일을 읽는 방법을 보여줍니다.
// 이 코드 예제는 HTML 파일을 읽는 방법을 보여줍니다.
// 문서 저장을 위한 출력 경로 준비
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML 파일 로드
var document = new HTMLDocument(documentPath);
// 출력 스트림에 문서 내용 쓰기
Console.WriteLine(document.DocumentElement.OuterHTML);
<html><head></head><body><h2>This is Sample Heading!</h2><p id="first-paragraph">This is first paragraph. </p><ol><li>First list item.</li><li>Second list item.</li></ol></body></html>
C#에서 HTML 파일 편집
HTML 파일의 내용을 업데이트할 수도 있습니다. 위에서 언급한 단계에 따라 더 많은 노드/요소를 추가할 수 있습니다. 그러나 아래 단계에 따라 기존 메모/요소를 수정할 수 있습니다.
- HTMLDocument 클래스를 사용하여 기존 HTML 파일을 로드합니다.
- 그런 다음 CreateTextNode() 메서드를 호출하여 텍스트 노드를 추가합니다.
- 다음으로 GetElementsByTagName() 메서드를 사용하여 첫 번째 단락 요소를 가져옵니다. “p"를 인수로 사용합니다.
- 그런 다음 AppendChild() 메서드를 호출하여 텍스트 노드를 추가합니다.
- 더 많은 요소를 수정하려면 위 단계를 반복합니다.
- 마지막으로 Save() 메서드를 사용하여 HTML 문서를 저장합니다. 출력 파일 경로를 인수로 사용합니다.
다음 코드 샘플은 C#을 사용하여 HTML 파일을 수정하는 방법을 보여줍니다.
// 이 코드 예제는 HTML 파일의 기존 콘텐츠를 편집하는 방법을 보여줍니다.
// 문서 저장을 위한 출력 경로 준비
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML 문서의 인스턴스 생성
var document = new HTMLDocument(documentPath);
// 텍스트 노드 만들기
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// 첫 번째 단락 요소 가져오기
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);
// HTML 문서를 파일로 저장
document.Save(@"C:\Files\html\modify.html");
다음 코드 샘플은 새 요소를 추가하고 기존 요소를 수정하는 보다 복잡한 예를 보여줍니다.
// 이 코드 예제는 기존 HTML 파일에서 요소를 편집하는 방법을 보여줍니다.
// 문서 저장을 위한 출력 경로 준비
string documentPath = @"C:\Files\html\create-new-document.html";
// HTML 문서의 인스턴스 생성
var document = new HTMLDocument(documentPath);
// 스타일 요소를 만들고 클래스 이름이 'gr'인 모든 요소에 녹색을 할당합니다.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";
// 문서 머리글 요소를 찾아 스타일 요소를 머리글에 추가합니다.
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);
// 텍스트 노드 만들기
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// 클래스 이름이 'gr'인 단락 요소를 만듭니다.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);
// 단락 요소 만들기
var newPara = (HTMLParagraphElement)document.CreateElement("p");
// 텍스트 노드 만들기
var paraText = document.CreateTextNode("This is second paragraph. ");
// 단락에 텍스트 추가
newPara.AppendChild(paraText);
// 문서 본문에 단락 첨부
document.Body.AppendChild(newPara);
// HTML 문서를 파일로 저장
document.Save(@"C:\Files\html\edit.html");
C#에서 원시 HTML 콘텐츠 추가
요소의 InnerHTML 속성을 사용하여 HTML 코드를 콘텐츠로 수동으로 추가하여 요소를 추가하거나 편집할 수 있습니다. 아래 단계에 따라 원시 HTML을 추가할 수 있습니다.
- 먼저 HTMLDocument 클래스의 인스턴스를 만듭니다.
- 다음으로 Body.InnerHTML 요소의 내용을 원시 HTML 문자열로 설정합니다.
- 마지막으로 Save() 메서드를 사용하여 HTML 문서를 저장합니다. 출력 파일 경로를 인수로 사용합니다.
다음 코드 샘플은 C#을 사용하여 원시 HTML 콘텐츠를 파일에 추가하는 방법을 보여줍니다.
// 이 코드 예제는 원시 HTML을 HTML 본문에 추가하는 방법을 보여줍니다.
// HTML 문서의 인스턴스 생성
using (var document = new HTMLDocument())
{
// HTML 문서의 내용을 콘솔 출력에 씁니다.
Console.WriteLine(document.DocumentElement.OuterHTML);
// 본문 요소의 내용 설정
document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";
/// HTML 문서를 파일로 저장
document.Save(@"C:\Files\html\using-innerHTML.html");
}
무료 라이선스 받기
평가 제한 없이 .NET용 Aspose.HTML을 사용하려면 무료 임시 라이선스를 받아 사용할 수 있습니다.
결론
이 문서에서는 다음 방법을 배웠습니다.
- 프로그래밍 방식으로 HTML 문서를 생성합니다.
- 로컬 디스크 경로에서 기존 HTML 문서를 로드합니다.
- 로드된 파일에서 HTML을 읽습니다.
- 기존 HTML 파일에 새 콘텐츠를 추가합니다.
- C#에서 기존 콘텐츠를 수정합니다.
C#에서 HTML 파일을 만들고 읽고 편집하는 것 외에도 문서를 사용하여 .NET API용 Aspose.HTML에 대해 자세히 알아볼 수 있습니다. 모호한 점이 있는 경우 무료 지원 포럼을 통해 언제든지 문의해 주십시오.