問題タブ [jxpath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 複数の名前空間を持つ JXPath
JXPath を使用して、JAXB で生成されたオブジェクトに対してクエリを作成する必要があります。以下の試行コードは、次のエラーを生成します: Exception in thread "main" org.apache.commons.jxpath.JXPathNotFoundException: No value for xpath: //p:OrderDetail
購入.xml
トライアル...
購入.java
xml ファイルはhttp://www.liquid-technologies.com/Tutorials/XmlSchemas/XsdTutorial_04.aspxから取得されました。
これを修正するために正しい方向に私を向けるアイデアはありますか?
java - 参照がない場合に JXPathContext を使用して XML 属性値を読み取る方法
次の XML を指定すると、JXPathContext を使用して、そこから Java オブジェクトを作成します。
値を読む -
これは期待どおりに機能しています。たとえば、Activity から ActivityMetadata への参照が欠落しているとします。このような場合、応答値を読み取るにはどうすればよいでしょうか。XML には、最大で 1 つの ActivityMetadata 要素しか存在できないことが保証されています。
不完全な XML - これを解析する必要があります
java - カスタム オブジェクトのリストから 1 つの属性を取得する方法
Java - JxPath - 春
私はオブジェクトList<MyClass> myClassListでいっぱいです。からプロパティMyClassを取得するための最もクリーンで最速の方法を見つけようとしています。Set<String> amyClassList
検索にjxpathを使用していますが、上記のこともできるかどうかはわかりません。
手伝ってくれますか?
java - JXPath はオブジェクトをタイプ別に検索できますか?
比較的複雑なオブジェクト グラフがあります。タイプ別に任意のオブジェクトを検索する式を JXPath に含めることは可能ですか?
例えば:
リストには、パスにあるオブジェクトが含まれます。
xml - Jaxb を使用して xlinks を含む大きな XML ファイル (AIXM 5.1 の Airspace、Point and Route) を解析すると時間がかかる
サイズが 50 MB を超える AIXM5.1 xml ファイルを JAXB を使用して解析しようとしています。この xml を 1 分以内に非整列化できます。しかし、Java オブジェクトを反復処理して XML のフィールドの値をフェッチしようとすると、膨大な時間がかかります。分析した後、xml には、同じ xml 内の xml フラグメントを内部的に参照する xlink があることがわかりました。たとえば、約40000 の xlink 参照があるようです。そのため、xlink で参照されている特定の xml フラグメントを見つけるたびに、オブジェクト全体を反復処理しようとしています。時間がかかっています。
サンプルの xml フラグメントは次のとおりです。
要素にxlink:href 属性があることがわかった場合、この uuid を介して uuid 値が含まれているため、一致する uuid を持つ Airspace xml フラグメントを見つける必要があります。このように、xml には 40000 以上の参照が存在します。
JAXB を介して xlinks を解決するためにグーグルで調べたところ、JXPath が代替手段であることがわかりました。しかし、継承されたクラスを持つ JXPath に関する例は見つかりませんでした。
誰かがそれに取り組んだか、他の技術を提案してくれたら教えてください。
あなたの助けを楽しみにしています..
java - jxpathに実際のフィールド名の代わりに@xmlelement name属性を読み込ませる方法は?
このようなフィールドを持つクラスがあります
このようにJXPathを使いたい
ただし、XMLElement name 属性は認識されません。そうする方法はありますか?
jaxb - jxpath が、xjc で生成されたクラスの JAXB の XmlElement 名を尊重しない
XML スキーマ定義と JAXB を使用して、適切な@XmlElementまたは@XmlRootElement注釈を付けた Java クラスを生成します。
スキーマには深い入れ子が含まれているため (私の選択ではありません)、jxpathXPath を使用して深く埋め込まれたクラスにアクセスしたいと思います (面倒な.getThat()andのデイジー チェーンではなくthat != null)。
問題は、一部の XML 要素名にダッシュが含まれていることです (例: foo-bar. を使用して要素にアクセスしようとするとorg.apache.jxpath、XPath を書き直してfooBar、実際の Java オブジェクトの名前のようにキャメル ケース ( ) にする必要があります。jxpath(キャメルケースの Bean 名の代わりに) XML 要素名に対応する XPath を使用して要素を見つけるように指示する方法はありますか?
この質問に関連していると思いますが、私の場合、xjcができる限り、自動生成されたクラスでどのようなトリックや装飾が使用されているかは実際にはわかりません。
この問題を説明する簡単な例を次に示します。
まず、小さな XSD ファイル:
コンパイルして...
以下は、xjc によって生成されたRecord.javaクラスです (コメントを除く)。
jxpath次に、 (実際には、深くネストされた多くのクラスを処理する必要があります)を介してデータにアクセスしようとすると、正しい XPath ( "foo-bar") が機能しないことがわかりますが、キャメル ケースのバージョンは機能します。
java - moxyを使用してxsdを同等のJavaオブジェクトのセットにコンパイルする方法は?
私は JAXB を使用しようとしていますが、xml から取り出す必要のある属性がたくさんあるため、Java オブジェクトのドット表記を使用する代わりに、xpath クエリを使用することをお勧めします。
私の質問:
- moxyの使用中にJavaオブジェクトグラフを生成するための別のルーチン/ツールはありますか? つまり、Moxy に相当する xjc はありますか?
- そうでない場合は、xjc 出力を使用して、moxy で作業できると想定しています。
moxy の使用法に対する私の関心は、xjc が生成するオブジェクト グラフで xpath クエリを操作することです。
また、moxy が Apache の jxpath とどのように比較されるかを誰か教えてもらえますか?