كيف أبحث عن علامة بداية مخصصة باستخدام أريحا في جافا؟
-
30-09-2019 - |
سؤال
كما يقول العنوان ، أحاول أن أتطابق مع بدء التشغيل غير القياسي في شكل <foo:bar ...>
كيف أفعل هذا مع أريحا؟
يحرر:
لقد قمت بإنشاء ما يلي custom starttagtype:
PrimoResultStartTagType primoSTT = new PrimoResultStartTagType("search", "<sear:DOC", ">", EndTagType.NORMAL, false, true, true);
...و:
class PrimoResultStartTagType extends StartTagType {
protected PrimoResultStartTagType(String arg0, String arg1, String arg2, EndTagType arg3, boolean arg4, boolean arg5, boolean arg6) {
super(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
}
@Override
protected Tag constructTagAt(Source arg0, int arg1) {
return null;
}
}
ومع ذلك ، عندما أفعل source.getAllElements(...)
, ، لا أحصل على تطابقات.
المحلول
ربما سيساعد:
مثال HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>StartTagType (Jericho HTML Parser 3.1)</title>
</head>
<body>
<span>simple tag</span>
<test:name>custom tag</test:name>
</body>
</html>
ونموذج الرمز:
public class Main {
public static void main(String[] args)
throws IOException {
URL url = Main.class.getClassLoader().getResource("test.html");
Source source = new Source(url);
List<Element> elementList = source.getAllElements("test:name");
for (Element element : elementList) {
System.out.println("Custom tag content: " + element.getContent().toString());
}
}
}
انتاج:
Custom tag content: custom tag
لا تنتمي إلى StackOverflow