問題タブ [xml-binding]
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 - できれば org.w3c.dom および javax.xml API を使用して、XML ドキュメントで使用されるプレフィックス / 名前空間バインディングを取得します
できれば標準org.w3c.org
とjavax.xml
API を使用して、XML ドキュメントで使用されるプレフィックス/名前空間バインディングを取得する方法はありますか? 接頭辞が含まれる要素で再定義される可能性があることを理解しているため、API もそれを考慮できるはずです。
私は、シリアル化された形式の XML ドキュメントを取得し、URI の名前バインディングに of プレフィックスを返すコードを探していMap<String, String>
ます (さらに、囲まれた要素の再定義を説明するための API の巧妙さ)。理想的には、ライブラリは、未使用のバインディングを識別/パージしたり、重複したバインディングを最も近い共通の祖先に移動したり (あちこちに複製するのではなく) など、より手の込んだことを行うことができます。
java - XmlElements のリストで XmlElement 名を取得する方法
次のような REST サービスから XML を取得しています。
そして、次のクラス Entity.java で解析しています。
次のような EntityElement クラスを使用します。
これはすべて期待どおりに機能し、EntityElements のリストを取得します。私がやりたいのは、名前フィールドを追加して、見つかった要素の名前 (foo、bar、または baz) を入力することですが、これを行う方法がわかりません。ヘルプや提案をいただければ幸いです。
jaxb - JAXB 出力の問題: 奇妙な例外
javax.xml.bind.MarshalException - リンクされた例外: [javax.xml.stream.XMLStreamException: Can not output XML definition, after other output has already done.] .write(MarshallerImpl.java:330) at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
ここに私のコードスニペットがあります:
これが発生する理由はありますか?前もって感謝します
java - Jackson XML バインディングを使用してリストを Pojo にマップする
Java POJO への初期マッピングを介して、Jackson の XML バインディングを使用して XML を Java List に変換しています。私が書いたものは機能しますが、ジャクソンを正しく使用しているとは思いません。
私はこの醜い XML で立ち往生しています:
これが私が使用しているJava POJOです。setGroups(String)
メソッドが実際にリストに追加されていることに注意してください。
Jackson の XmlMapper を呼び出す方法を次に示します。
これは、実際に機能する必要があるため、機能しています。期待する要素が入力されたリストを持つ Groups クラスを取得します。私は疑問に思っています、アプローチは正しいですか?セッターが追加を行っているのは好きではありませんが、私が試したことはすべてうまくいきませんでした。
java - 継承による Jaxb POJO の生成
現在持っている別の階層を持つ xml-binding を使用して POJO を生成したいと考えています。今、私はこのような xsd を持っています:
このような xjb;
しかし、私はこのアプローチでより良い階層を持ちたいと思っています
したがって、XSD から生成された Triangle POJO は、 からThreeSideFigure
ではなく から拡張する必要がありFigure
ます。
この特定の xsd には 2 つの図しか入れていませんが、もっとたくさん入れることができます。xjb で、complexType はすべて Figure から拡張する必要があるが、ThreeSideFigure から拡張する必要があるのはそのうちのいくつかだけであることを指定できるようにしたいと考えています。
xjb がどのように見えるか知っていますか?