이 간단한 방법은 HTML를 C#의 텍스트로 변환하는 방법을 보여줍니다. C#에서 HTML에서 일반 텍스트로의 변환은 Windows, macOS 또는 Linux 플랫폼에서 실행되는 모든 .NET 기반 응용 프로그램에 대해 몇 줄의 코드를 사용하여 쉽게 달성할 수 있습니다.
C#에서 HTML을 텍스트로 변환하는 단계
- NuGet 패키지 관리자에서 Aspose.HTML for .NET 설치
- 프로젝트에 Aspose.HTML 네임스페이스 포함
- HTML 파일 내용을 문자열로 로드
- HTML이 포함된 문자열을 로드하려면 HTMLDocument 클래스의 인스턴스를 만듭니다.
- INodeIterator 클래스 인스턴스를 인스턴스화하여 노드를 반복하고 StringBuilder에 추가합니다.
- 마지막으로 HTML에서 변환된 텍스트를 디스크에 저장합니다.
*HTML C#*에서 일반 텍스트를 얻으려면 .NET 기반 응용 프로그램에서 몇 줄의 코드를 효과적으로 사용할 수 있습니다. 프로세스는 File.ReadAllText 메서드를 사용하여 HTMLDocument 클래스 인스턴스에 HTML 파일을 문자열로 로드하는 것으로 시작됩니다. 그런 다음 INodeIterator를 사용하여 HTML에서 노드를 추출하고 이를 StringBuilder에 추가합니다. 마지막으로 StringBuilder에서 추출한 HTML은 디스크에 저장됩니다.
C#에서 HTML을 텍스트로 변환하는 코드
using System; | |
using System.IO; | |
using System.Text; | |
using Aspose.Html; | |
using Aspose.Html.Dom.Traversal; | |
using Aspose.Html.Dom.Traversal.Filters; | |
namespace KbHtml | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set the API license to extract HTML text | |
License license = new License(); | |
license.SetLicense("Aspose.Html.lic"); | |
// Reading HTML file content | |
String HtmlContent = File.ReadAllText("Test2.html"); | |
// Create an object of HTMLDocument | |
using (var HtmlDocument = new HTMLDocument(HtmlContent, "")) | |
{ | |
// Initialize the instance of node iterator to iterate HTML | |
INodeIterator iterator = HtmlDocument.CreateNodeIterator(HtmlDocument, NodeFilter.SHOW_TEXT, | |
new StyleFilter()); | |
StringBuilder Stringbld = new StringBuilder(); | |
Aspose.Html.Dom.Node node; | |
// Iterate through Nodes | |
while ((node = iterator.NextNode()) != null) | |
Stringbld.Append(node.NodeValue); | |
Console.WriteLine(Stringbld.ToString()); | |
File.WriteAllText(@"HtmlToText.txt", Stringbld.ToString()); | |
} | |
} | |
} | |
class StyleFilter : NodeFilter | |
{ | |
public override short AcceptNode(Aspose.Html.Dom.Node node) | |
{ | |
// In order to avoid any element during fetching nodes, write the name of element in capital letters | |
return (node.ParentElement.TagName == "STYLE" || node.ParentElement.TagName == "SCRIPT" | |
? FILTER_REJECT : FILTER_ACCEPT); | |
} | |
} | |
} |
C#의 위 코드는 몇 가지 API 호출을 사용하여 HTML을 일반 텍스트로 변환합니다. 변환 프로세스 동안 HTML에서 원하지 않는 노드를 필터링하는 AcceptNode 메서드를 재정의하기 위해 NodeFilter 클래스를 상속하는 사용자 정의된 StyleFilter 클래스를 사용했습니다.
이전 주제에서 C#에서 HTML 파일 만들기 방법을 배웠습니다. 반면 C#의 위 예제는 프로그래밍 방식으로 HTML 파일에서 일반 텍스트를 가져옵니다.