0

我有大约 3200 个小 XML 文件的 URL,这些文件有一些字符串形式的数据(显然)。当我转到 URL 时,会显示(未下载)XML 文件。所以我需要从所有这些 XML 中提取一些数据并将其保存在单个 .txt 文件或 XML 文件或其他文件中。我怎样才能自动化这个过程?

*注意:这是文件的样子。我需要从所有这些中复制“位置”和“标题”并将它们放在一个文件中。使用什么方法可以实现?

<?xml version="1.0"?>
 -<playlist xmlns="http://xspf.org/ns/0/" version="1">
    -<tracklist>
    <location>http://radiotool.com/fransn.mp3</location> 
    <title>France, Paris radio 104.5</title> 
    </tracklist>
</playlist>

*编辑:固定 XML。

4

2 回答 2

2

使用 XQuery 或 XSLT 很容易,但细节取决于 URL 的保存方式。如果它们在 Java 列表中,那么(至少使用 Saxon)您可以将此列表作为参数提供给以下查询:

declare variable urls as xs:string* external;
<data>{
  for $u in $urls return doc($u)//*:tracklist
}</data>

Java 代码类似于:

Processor proc = new Processor();
XQueryCompiler c = proc.newXQueryCompiler();
XQueryEvaluator q = c.compile($query).load();
List<XdmItem> urls = new ArrayList();
for (url : inputUrls) {
  urls.append(new XdmAtomicValue(url);
}
q.setExternalVariable(new QName("urls"), new XdmValue(urls));
q.setDestination(...)
run();
于 2013-03-12T13:05:58.787 回答
0

在这里查看 JSoup 库:http: //jsoup.org/

它具有用于拉取和修复 URL 内容的功能,但它是为 HTML 设计的,所以我不确定它是否适用于 XML,但值得一看。

于 2013-03-12T12:16:11.777 回答