ファイルに大きく複雑なXML文書があります。 XML文書のテキスト検索をして、見つかったテキストの完全なXMLパスを教えてください。
Windows用のRegEditツールには同様の機能があります。 「クロックレート」を検索すると、ウィンドウ下部のステータスバーにフルパスが表示されます。
XMLファイルに同じことが欲しいのですが。たとえば、私が持っているならば
<foo><bar><baz>test</baz></bar></foo>
そして私は「テスト」を検索し、私はフルパスfoo\bar\baz
を見るべきです
申し訳ありませんが、私はあらゆるアプリケーションに慣れていません(Firebugの間隔 - 私たちはちょっとそれに戻ります)それは箱から出してそれをします。それが本当に大きければ、あなたはカスタムソリューションをロールアウトする必要があるかもしれません - あなたが欲しいテキストを見つけるまでXML/HTMLパーサーを使用し、ノードを通過するには複雑ではありません。現在の要素のXPathを取得する機能。
上記のFirefoxプラグイン - Firebugについて。私はあなたに写真を見せるのに十分な評判がありません - しかしそれをするのは簡単なプロセスです:
firefoxでXMLファイルを開く - それはおそらく定義されていないので、おなじみが見えます:
このXMLファイルは、それに関連付けられているスタイル情報を持つようには表示されません。文書ツリーを以下に示します。
f12を押すとFireBugを呼び出すと、ファイルがHTMLのようなボットをレンダリングされるようになります。すべての要素がinlineであるため、テキストはBLOBに「マージ」されます。それはインポートなしです - 重要な部分は、FirebugのHTMLタブのXMLファイルが解析されたことがわかります。
Firefoxネイティブ開発者ツールでこれを試すこともできます。
テストファイルの場合
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
</catalog>
_
検索されたフレーズが「コンピュータ」で、したがって募集ノードは次のとおりです。
<genre>Computer</genre>
_
結果は次のとおりです。
/カタログ/本/ジャンル
カタログブック#BK101ジャンル
#BK101>ジャンル:Nth-Child(3)
私の唯一の懸念は、あなたがあなたのファイルを書いたということです。それが本当に、本当に大きい場合 - まあ、あなたはブラウザが時々行動するのをどのように行動するかを知っています。 ;)