• ベストアンサー

XMLのNodeからXPathを生成(逆引き?)したい

お世話になっております。 Javaで、よくXMLのNodeをXPathを使って検索する例を見かけるのですが、 逆に、XML中のNodeからXPathのロケーションステップを調べる方法は どうやったらよいでしょうか。 Nodeには必ずユニークなロケーションステップが割り当てられるので、 APIがあればできそうな気がするのですが、分かりません。 Java SE 6 APIでできるならベストですが、OSSのライブラリを使っても 構いません。ご存知の方がいらっしゃったらご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

なかなか要件に見合うものはありませんね。 OSS ScriptellaProject(ttp://scriptella.javaforge.com/)の scriptella.configuration.XmlElementの内部実装#getXPathメソッド あたりがかなり使えそうな気がします。 くれぐれもライセンス利用にはご注意を。

TAKE-See
質問者

お礼

ご回答ありがとうございます。 ソースを拝見しましたが、確かに使えそうですね。 その後、自分でも調べてみましたが、Eclipse 3.5 の org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper の #calculateXPathToNodeメソッドでも同じような結果を得られそうでした。 最悪は、XPathといってもテキストだから手作業で作ればいいかな・・・と 思っていたところでしたので、大変参考になりました。

関連するQ&A