Заменить местозаполнитель HTML-файла в JAVA - PullRequest
0 голосов
/ 30 сентября 2018

Я использую библиотеку jsoup для анализа HTML-файла в Java.Я хочу заменить заполнители этого HTML-файла.В настоящее время я помещаю заполнители в <span id = "id_1"> xx </span> и заменяю их.

Я пытался сделать много других вещей, но не добился успеха.

    Document doc = Jsoup.parse(new File("abc.html"), UTF_8);
    doc.getElementById("id_1").text("MUKUL");

Заполнители в моем html-файле похожи на <%= name %>.Я хочу заменить все заполнители на подходящие значения.На данный момент я внес изменения в свой HTML-файл, чтобы поместить метки в тег <span id = "id_1"> xx </span>.Я не хочу менять свой HTML-шаблон.

Может кто-нибудь предложить какой-нибудь чистый и лучший способ достижения этой цели.

Почему я не изменяю его на String : Я не хочу изменять html-файл в String, поскольку html-файл содержит некоторые японские символы, и всякий раз, когда я преобразую его в строку, некоторые из японских символов искажаются и выдают ненужные данные.

1 Ответ

0 голосов
/ 30 сентября 2018

ПУТЬ - Если вы «калечите» свои японские иероглифы, используя JSoup, как сейчас ... ВЫ МОЖЕТЕ ДОБАВИТЬ ЭТУ ЛИНИЮ (если вы выводите HTML) ...

ИскаженоДля китайских иероглифов, или японских кандзи, требуется эта строка в заголовке HTML:

<META http-equiv="Content-Type" content="text/html; charset=utf-8" />

И вы должны иметь возможность читать:

  • 李克强 : 稳 投资 不是 要走 过度 依赖100 的 老路
  • Ли Кэцян: Стабильные инвестиции - это не старый способ слишком сильно полагаться на инвестиции.
  • Ли Кэцян: in vivo estable no es la vieja forma de confiar demasiado en la inversión.
  • http://article.chinesenewsboard.com/Gov.CN/2018/09%20-%20September/22/01/index.html

Я только что закончил пакет HTML Parse.Я никогда не был в состоянии использовать JSoup.Я отправил это вчера.Я работал над этим больше года.Я разбираю китайские иероглифы - не японские, и знаю все о UTF-8.

Скачайте его: http://developer.torello.directory/JavaHTML/index.html

Есть документация.

Мои сайты:

Они скребут новости, а я 'я собираю их каждый день.

Имея у меня файл "JavaHTML.jar" и документацию, доступную по ссылке выше, анализировать и даже конвертировать файлы HTML довольно легко.Я использую их для очистки иностранных новостных сайтов - чтобы люди могли читать статьи из Азии - где все эти компьютеры, которые мы используем, производятся каждый день ....

Я не знаю, нравится ли Дональд Трампэто все же.

import Torello.HTML.*;
import Torello.Java.*;

import java.util.*;
import java.io.*;

public class Scrape
{
    public static void main(String[] argv) throws IOException
    {
        Vector<HTMLNode> page = HTMLPage.getPageTokens(new java.net.URL("abc.html"), false);
        Iterator<Integer> i = TagNodeFind.iterator(page, TC.OpeningTags, "span");
        while (i.hasNext())
        {
            int pos = i.next().intValue();
            System.out.println(page.elementAt(pos));        // <SPAN ID="id_1">
            System.out.println(page.elementAt(pos + 1));    // The text that follows
            String replacementText = "Your Text Replacement Here...[<% === %/] or whatever.";
            page.setElementAt(new TextNode(replacementText), pos + 1);
            System.out.println("Replaced with: " + replacementText);
            System.out.println();
        }
        // Print the new HTML page from the old page-vector..
        StringBuffer out = new StringBuffer();
        for (HTMLNode n : page) out.append(n.str);
        FileRW.writeFile(out, "New HTML Page.html");
    }
}
...