0

文字列形式のデータを含む小さな XML ファイルへの URL が約 3200 あります (明らかに)。URL にアクセスすると、XML ファイルが表示されます (ダウンロードされません)。したがって、これらすべての XML からデータを抽出し、単一の .txt ファイルまたは XML ファイルなどに保存する必要があります。このプロセスを自動化するにはどうすればよいですか?

*注: ファイルは次のようになります。それらすべてから「場所」と「タイトル」をコピーして、1 つのファイルにまとめる必要があります。どのような方法論を使用してこれを達成できますか?

<?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

詳細は URL の保持方法によって異なりますが、XQuery または XSLT を使用すれば簡単です。それらが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 に答える