java - Hello World 撒克逊语与 Java

标签 java xml xquery saxon tag-soup

使用通过apt安装的JAR文件进行Saxon-HEtagsoup解析html是一个-类轮为:

thufir@dur:~/saxon$ 
thufir@dur:~/saxon$ java -cp /usr/share/java/Saxon-HE-9.8.0.14.jar:/usr/share/java/tagsoup-1.2.1.jar net.sf.saxon.Query -x:org.ccil.cowan.tagsoup.Parser -qs:doc\(\'http://books.toscrape.com/\'\) 
<?xml version="1.0" encoding="UTF-8"?><!--[if lt IE 7]>      <html lang="en-us" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--><!--[if IE 7]>         <html lang="en-us" class="no-js lt-ie9 lt-ie8"> <![endif]--><!--[if IE 8]>         <html lang="en-us" class="no-js lt-ie9"> <![endif]--><!--[if gt IE 8]><!--><html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml" class="no-js" lang="en-us"><!--<![endif]--><head><title>
    All products | Books to Scrape - Sandbox
..        
        <!-- Version: N/A -->

thufir@dur:~/saxon$ 
thufir@dur:~/saxon$ 

我如何从 Java 中执行此操作? 特别是,此执行需要从 Saxon 导入哪些内容? Perhaps使用 Saxon 和 JAXP 接口(interface)?

还有:

http://codingwithpassion.blogspot.com/2011/03/saxon-xslt-java-example.html

最佳答案

您将在 saxonica.com 和 sourceforge.net 网站上的 saxon-resources 下载中找到许多使用 Saxon 从 Java 调用转换的简单示例。

很难准确地知道您想要什么,因为您的命令行示例除了调用 TagSoup 解析器并序列化结果之外,没有使用 Saxon 做任何有用的事情。在 Java 中执行此操作的最简单方法是使用 JAXP 身份转换,它与 JDK 中的内置 XSLT 转换器一起运行与 Saxon 一样好:

TransformerFactory factory = TransformerFactory.newInstance();
XMLReader xmlReader = XMLReaderFactory.createXMLReader("org.ccil.cowan.tagsoup.Parser");
Source input = new SAXSource(xmlReader, new InputSource("http://books.toscrape.com/"));
Result output = new StreamResult(System.out);
factory.newTransformer().transform(input, output);

如果您想添加一些 XSLT 或 XQuery 处理,那么这当然是完全可能的(我总是使用 Saxon 的 s9api API,但您也可以使用 JAXP 或 XQJ),但具体细节取决于您想要什么做。

关于java - Hello World 撒克逊语与 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031200/

相关文章:

java - 如何更改 Android Studio 中的第一个 Activity ?

xquery - 从 xdmp :http-get() 访问 HTTP 响应

java - 不支持的类 : com. mediatek.common.telephony.IOnlyOwnerSimSupport

java - 能够对域代码的每个实体执行选择的通用方法

java - xtag 特殊字符问题

xml - BaseX:更新不会写回

oracle - XMLAGG 与 RTRIM 问题

java - 更新 JTable 的内容

java - 干净的代码 - 从另一个锁定的部分调用

ios - 在 objective-c 中将NSString解压为xml