Cách chuyển đổi chuỗi thành tệp html trong java

HTML là cốt lõi của web, tất cả các trang bạn thấy trên internet đều là HTML, cho dù chúng được tạo động bởi JavaScript, JSP, PHP, ASP hay bất kỳ công nghệ web nào khác. Trình duyệt của bạn thực sự phân tích cú pháp HTML và hiển thị nó cho bạn Nhưng nếu chúng tôi cần phân tích cú pháp tài liệu HTML và tìm một số thành phần, thẻ, thuộc tính hoặc kiểm tra xem một thành phần cụ thể có tồn tại hay không. Trong java, chúng ta có thể trích xuất nội dung HTML và có thể phân tích cú pháp Tài liệu HTML

phương pháp tiếp cận

  1. Sử dụng FileReader
  2. Sử dụng url. openStream()

Cách tiếp cận 1. Thư viện được gọi là FileReader cung cấp cách đọc bất kỳ Tệp nào bất kể Tiện ích mở rộng nào. Cách nối các dòng HTML vào Trình tạo chuỗi như sau

Hôm qua, tôi đã viết về Reef, giải pháp thay thế nhẹ nhàng của tôi cho Vue và React. Trong vài ngày tới, tôi muốn xem các bộ phận khác nhau của nó hoạt động như thế nào

Hôm nay, chúng ta sẽ xem xét cách lấy một chuỗi HTML và chuyển đổi nó thành đánh dấu thực tế

Tại sao bạn cần điều này

Nếu bạn muốn chèn một chuỗi vào DOM, bạn có thể làm điều đó khá đơn giản với

<h1>Hi, universe!h1>
0

app.innerHTML = '

Hello, world!

'
;

Nhưng Reef không chỉ đẩy đánh dấu vào một yếu tố. Nó so sánh đánh dấu hiện có trong một phần tử với giao diện của nó và chỉ cập nhật những thứ cần thay đổi

Ví dụ: nếu nội dung hiện có bên trong

<h1>Hi, universe!h1>
0 là

<h1>Hi, universe!h1>

Reef sẽ chỉ cập nhật văn bản bên trong

<h1>Hi, universe!h1>
1 thay vì tạo một phần tử hoàn toàn mới

Để điều đó hoạt động, chúng tôi cần chuyển đổi các chuỗi HTML thành các phần tử HTML thực tế có thể được duyệt qua, ánh xạ và phân tích

Tạo một phương thức trợ giúp

Trước tiên, hãy tạo một hàm trợ giúp sẽ chấp nhận một chuỗi và trả về HTML

/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};

cách tiếp cận đơn giản

Cách đơn giản nhất để làm điều này là tạo một phần tử, chèn chuỗi vào với

<h1>Hi, universe!h1>
0, sau đó trả về phần tử

/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	var dom = document.createElement('div');
	dom.innerHTML = str;
	return dom;
};

Cách tiếp cận này không hoàn hảo, mặc dù

Mặc dù phần tử này bị tách rời—nghĩa là không thực sự nằm trong DOM hiện tại—trình duyệt vẫn sẽ thực hiện những việc như tải xuống các tệp hình ảnh

Thao tác này sẽ kích hoạt tệp hình ảnh để tải xuống, mặc dù phần đánh dấu chưa được hiển thị ở bất kỳ đâu

stringToHTML('
Cách chuyển đổi chuỗi thành tệp html trong java
'
);

Một cách tốt hơn

Sau khi thực hiện một loạt nghiên cứu, tôi đã phát hiện ra một phương pháp trình duyệt riêng để tránh vấn đề này.

<h1>Hi, universe!h1>
3. Đối tượng
<h1>Hi, universe!h1>
3 tạo một tài liệu DOM mới từ một chuỗi

Để sử dụng nó, bạn khởi tạo một thể hiện mới. Sau đó, bạn sử dụng phương thức

<h1>Hi, universe!h1>
5 để chuyển đổi chuỗi của mình thành phần tử
<h1>Hi, universe!h1>
6 mới. Phương thức chấp nhận chuỗi làm đối số đầu tiên. Đặt đối số thứ hai thành
<h1>Hi, universe!h1>
7

Bởi vì nó thực sự là một phần tử

<h1>Hi, universe!h1>
6 mới, chúng tôi sẽ trả về
<h1>Hi, universe!h1>
9

<h1>Hi, universe!h1>
4

Bây giờ chúng tôi có thể làm điều này và sẽ không có tải xuống nào được kích hoạt

stringToHTML('
Cách chuyển đổi chuỗi thành tệp html trong java
'
);

Kết hợp hai cách tiếp cận

Phương pháp

<h1>Hi, universe!h1>
3 thật tuyệt vời, nhưng phương pháp
<h1>Hi, universe!h1>
5 dừng lại ở IE10

Tôi muốn kết hợp hai cách tiếp cận, sử dụng

<h1>Hi, universe!h1>
3 khi nó được hỗ trợ và quay lại tạo một phần tử và sử dụng
<h1>Hi, universe!h1>
0 khi nó không được hỗ trợ

Để kiểm tra hỗ trợ, chúng tôi sẽ gán IIFE cho biến

/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};
4

Bên trong IIFE, trước tiên chúng tôi sẽ kiểm tra xem

/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};
5 có tồn tại trong
/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};
6 không. Nếu không, chúng tôi sẽ trả lại
/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};
7. Tiếp theo, chúng tôi sẽ cố gắng sử dụng
<h1>Hi, universe!h1>
5 để tạo một
<h1>Hi, universe!h1>
6. Nếu thất bại, chúng tôi sẽ trả lại
/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	// Code goes here...
};
7. Nếu không, chúng tôi sẽ trả lại
/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	var dom = document.createElement('div');
	dom.innerHTML = str;
	return dom;
};
1

<h1>Hi, universe!h1>
7

Bên trong phương pháp

/**
 * Convert a template string into HTML DOM nodes
 * @param  {String} str The template string
 * @return {Node}       The template HTML
 */
var stringToHTML = function (str) {
	var dom = document.createElement('div');
	dom.innerHTML = str;
	return dom;
};
2 của chúng tôi, chúng tôi sẽ sử dụng có điều kiện
<h1>Hi, universe!h1>
3 khi nó được hỗ trợ và
<h1>Hi, universe!h1>
0 khi nó không được hỗ trợ

Bạn có thể chuyển đổi java sang HTML không?

Tìm và chọn các tệp JAVA trên máy tính của bạn rồi nhấp vào Mở để đưa chúng vào Doxillion nhằm chuyển đổi chúng sang định dạng tệp HTML . Bạn cũng có thể kéo và thả trực tiếp các tệp JAVA của mình vào chương trình để chuyển đổi chúng.

Làm cách nào tôi có thể chuyển đổi Chuỗi HTML thành HTML?

Để chuyển đổi chuỗi HTML thành HTML hoặc DOM thực, bạn có thể sử dụng API Web DOMParser bằng JavaScript . DOMParser giúp chúng tôi phân tích chuỗi HTML hoặc XML thành các nút Tài liệu hoặc DOM thực.

Chúng ta có thể chuyển đổi Chuỗi thành tệp trong java không?

Phương pháp. Sử dụng phương thức writeString() của lớp Files . Sử dụng phương thức write() của lớp Files. Sử dụng phương thức writer() của lớp Filewriter.

Chúng ta có thể chuyển đổi String thành char trong java không?

Chúng ta có thể chuyển String thành char trong java bằng cách sử dụng phương thức charAt() của lớp String . Phương thức charAt() chỉ trả về một ký tự duy nhất. Để có được tất cả các ký tự, bạn có thể sử dụng vòng lặp.