Javaの厳密ではないxpathを知っていますか? (dtdとスキーマをチェックしないようにしたい)そして、正しいxmlを気にしないのはクールだろう.
2 に答える
1
XPath を使用するために有効な XML をスキーマ化する必要はありません。整形式でない XML の場合、次の 2 つのオプションがあると思います。
- ファイルから有効な DOM ツリーを生成します。JTidy または TagSoup を介してファイルを吸引することを提案します。それができたら、XPath を通常どおり使用できます。
- 他のツリー形状のモデルを生成してから、Jaxen の XPath 用にカスタマイズされた Navigator を使用します。(Jaxen では、任意のモデルで XPath を使用できます)。
于 2008-10-29T12:38:42.507 に答える
0
まず、「正しい xml」はいくつかの方法で解釈できます。「整形式ではない」(山括弧の欠落、要素の重なりなど) という意味である場合、xpath のどのバージョンもそれに対して有用な処理を行わない可能性があります。ある種の正規表現を使用したほうがよいでしょう。あなたの XML が整形式でない場合、それがどのように整形式でないかについて何らかの手がかりがあることを願っています。
実際に「無効」を意味する場合、つまり単にスキーマまたは DTD に対して検証されないことを意味する場合は、「local-name()」関数と比較する述語を使用できます。たとえば、スキーマを無視して「/foo/bar」要素を検索する場合、xpath は次のようになります。
/*[local-name()='foo']/*[local-name()='bar']
于 2008-10-28T16:07:12.867 に答える