- ベストアンサー
XMLのNodeからXPathを生成(逆引き?)したい
お世話になっております。 Javaで、よくXMLのNodeをXPathを使って検索する例を見かけるのですが、 逆に、XML中のNodeからXPathのロケーションステップを調べる方法は どうやったらよいでしょうか。 Nodeには必ずユニークなロケーションステップが割り当てられるので、 APIがあればできそうな気がするのですが、分かりません。 Java SE 6 APIでできるならベストですが、OSSのライブラリを使っても 構いません。ご存知の方がいらっしゃったらご教示ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
なかなか要件に見合うものはありませんね。 OSS ScriptellaProject(ttp://scriptella.javaforge.com/)の scriptella.configuration.XmlElementの内部実装#getXPathメソッド あたりがかなり使えそうな気がします。 くれぐれもライセンス利用にはご注意を。
お礼
ご回答ありがとうございます。 ソースを拝見しましたが、確かに使えそうですね。 その後、自分でも調べてみましたが、Eclipse 3.5 の org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper の #calculateXPathToNodeメソッドでも同じような結果を得られそうでした。 最悪は、XPathといってもテキストだから手作業で作ればいいかな・・・と 思っていたところでしたので、大変参考になりました。