私はstaxmateを使ってxml文書を書き出しています。「pre:elem」のようなプレフィックス/名前空間を使用して xml 要素を書き出したいと考えています。これを手動で "pre" + ":" + "elem" として構成し、staxmate api の addElement メソッドに渡すことができます。しかし、それを行うより良い方法はありますか?
1 に答える
1
手動での構築は動作が保証されていないため、適切な解決策ではありません (おそらく既にご存じでしょう)。正しい方法は、Namespace インスタンス (推奨されるプレフィックス付き) を取得し、それを書き込みに使用することです。したがって、次のようなものです:
SMOutputDocument doc = ...;
SMNamespace ns = doc.getNamespace("http://mynamespaces.com", "pre");
SMOutputElement elem = doc.addElement(ns, "root");
// ... and so forth
名前空間インスタンスは、任意のコンテナー (SMOutputDocument、SMOutputElement) から取得できます。
名前空間オブジェクトを渡さない場合、デフォルトでは、URI "" を持つ名前空間が想定されます (プレフィックスなしにバインドする必要があります)。
(注: これをStaxMate FAQに追加してもらいます)
于 2011-01-05T22:13:55.237 に答える