問題タブ [jaxp]

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.

0 投票する
1 に答える
504 参照

javascript - BaseX: XSLT で Javascript 関数が機能しない

Altova で XSLT を作成し、Basex で使用して Java から変換を呼び出したいと考えています。Altova では問題ありませんが、Basex では「[FODC0002] スタイルシートをコンパイルできません」というメッセージが表示されます。XSLT の一部は次のとおりです。

Java で、JAXP と Basex JQX の両方を使用して XSLT 変換を試みましたが、コンパイル エラーは「非静的 Java 関数 'random' の最初の引数は有効なオブジェクト参照ではありません。」

私を助けてください!!!

0 投票する
1 に答える
508 参照

android - Intent と Parcelable を介して DOM オブジェクトを渡す方法はありますか?

Intent と Parcelable を介して JAXP Node または Document を渡す方法はありますか? JAXP は Parcelable を実装していないため、答えはおそらくノーです。Parcelable を実装する DOM ライブラリはありますか? 誰かがその実例を提供できますか?

シリアル化はオプションではありません。厄介なパフォーマンスヒット。データを res/xml に保存することはできません。最終的には (プロジェクトの終わりまでに) ディスク上で暗号化する必要があります。Android の「コンパイル済み」XML アクセス ツールは、XML 全体の復号化をサポートしていません。もちろん、私はクラスでそれを自分で行うことができます。

XML を拡張するスターター コードを次に示します。私の目標は、ある ListView から別の ListView に Node または Document を渡し、リストを介して DOM を効果的にドリルダウンすることです。

マイ ドキュメントには、すべてのアクティビティで共有する必要がある情報が含まれています。各アクティビティは異なるノードにアクセスし、新しい情報を抽出します。グローバル経由でドキュメントを公開することを検討しましたが、複数のアクティビティがそのようにアクセスするのは安全ではないと思います。

また、以下の作業コードでは、Node を String ではなく 2 番目の ListActivity に渡すつもりですが、そこまで行っていません。

0 投票する
1 に答える
591 参照

xml - JAXPAPIを使用してコンパイル済みのSaxonスタイルシートを実行する

このSaxonコマンドで作成されたコンパイル済みのスタイルシートがあります。

javanet.sf.saxon.Compile[options]スタイルシート出力[params…]

ここで、このスタイルシートをJavaコード内のXMLツリーに適用したいと思います。JAXP APIを使用してこれを行うことは可能ですか?もしそうなら、どのくらい正確ですか?これについて助けてくれてありがとう。

0 投票する
1 に答える
636 参照

java - SAXParserfactory と XMLReaderFactory の違い

昨日、JAXP API の SAX2 API クラス XMLReaderFactory と SAXParserFactory に関するドキュメントを読みました。どちらも、XMLReader クラスのインスタンスを提供するという同じ目的を果たしていました。次に、さまざまな資料を調べて、2 つの違いと、特定のシナリオでどちらがより役立つかを理解しました。

上記の質問に関して私が読んだ資料のほとんどは、以下の違いを述べています。

ヘルパー クラス XMLReaderFactory メソッド createXMLReaderFactory(String className) の問題は、ファクトリが引数として、使用するパーサー クラスの文字列名を必要とすることです (その Apache クラス、org.apache.xerces.parsers.SAXParser)。別のパーサー クラスを String として渡すことで、パーサーを変更できます。このアプローチでは、パーサー名を変更した場合、インポート ステートメントを変更する必要はありませんが、クラスを再コンパイルする必要があります。これは明らかに最善の解決策ではありません。クラスを再コンパイルせずにパーサーを変更できる方がはるかに簡単です。

JAXP は、より優れた代替手段を提供します。パーサーを Java システム プロパティとして提供できます。もちろん、Sun からディストリビューションをダウンロードすると、Sun のバージョンの Xerces を使用する JAXP 実装が得られます。パーサーを変更する (たとえば、Oracle のパーサーに変更する) には、あるパーサーの実装から別のパーサーの実装に移動して、クラスパス設定を変更する必要がありますが、コードの再コンパイルは必要ありません。そして、これが JAXP のすべてである魔法 (抽象化) です。特定のメソッドのどの特定のシナリオでの使用がより便利になるか、誰にも教えてもらえますか

しかし、メソッド createXMLReaderFactory(String className) を使用していて、クラス名を method に直接渡す代わりに、プロパティ ファイルからクラスの名前を読み取ってに渡す場合、上記の違いには同意しません。クラスを再コンパイルする必要はありません。

上記の点で正しいかどうか教えてください。

SAX2 API クラス XMLReaderFactory と JAXP API の SAXParserFactory の違いを誰か教えてもらえますか?

0 投票する
2 に答える
6632 参照

java - XPath は複数のノードからテキストを取得します

次の nametext を使用して StringArray を作成する必要があります。

<xs:element name="xyz" type="xs:string/>

<xs:element name="bla" type="xs:string/>

...

「xyz」、「bla」などを照会するにはどうすればよいですか?

おそらくこれまでに見た中で最悪のコードですが、とにかく:

助けてくれてありがとう、このように機能しました:

(念のため..誰かがここで解決策を探している場合)

0 投票する
2 に答える
2766 参照

java - XML 要素を別の (別のドキュメントの) 要素に置き換える方法は?

これが私の問題です:

DOM に解析されるソース XML ファイルがあります。XML フラグメントも取得しました (: など<a>text1<b/></a>)。フラグメントの「ルート」要素は、常にソース DOM の要素 (同じ名前) と一致します。DOM のノードをこれに置き換えることはできますか?

まず、私が考えたのは、文字列フラグメントを DOM として解析することです。次に、replaceChild()メソッドを使用しようとしましたが、間違って使用したか、同じ DOM に既に存在するノードにのみ適用できます。それで、誰かがこれをどのように達成できるかを示すことができますか?

0 投票する
1 に答える
1510 参照

java - Weblogic での SOAP 呼び出しの XML 応答の解析

現在、Java 1.4 を使用する Weblogic Server 8,1 sp5から Java 1.7 を使用する 10.3.6 に機能を移行中です。

以下に記載されているケースは、旧サーバーでは正常に動作していますが、新サーバーへのハンドリングの移行時に問題が発生しています。問題は、SOAP 呼び出しを介して外部システムから取得された XML 応答を取得して解析するときに発生します。

このメソッドでは、次のライブラリとプロシージャが使用されます。

  1. 接続を確立するjava.net.HttpURLConnection
  2. リクエストを送信するjava.io.OutputStream
  3. 応答を取得するjava.io.InputStream
  4. 文字列に変換する前に結果を格納するbyte[]
  5. String をorg.w3c.dom.Documentに変換するjavax.xml.parsers.DocumentBuilderjava.io.StringReaderおよびorg.xml.sax.InputSource
  6. 次の例外がスロー されます。

notepad++ を使用してアプリケーションのログを開くと、ファイルの末尾に多くの null 文字が表示され、問題の原因と思われます。古いサーバーからのリクエストを実行する場合、そのようなケースは発生しないことを繰り返します。

それぞれのコードは次のとおりです。

ジャンク文字から応答を取り除くことで問題を解決できることはわかっていますが、これは安全な解決策ではありません。この件について共有する情報はありますか?それは Java のバージョンの問題だと思いますか、それともサーバーの構成の問題でしょうか? よろしくお願いします。

敬具、ジョージ

0 投票する
1 に答える
281 参照

java - JCIFS に関する SAXException

機能では、次のように JCIFS の SmbFile コンセプトを使用して、リモート保護共有フォルダーにあるアップロードされた xml ファイルから値を読み取るロジックを組み立てました。

この行doc = builder.parse(new SmbFileInputStream(fNew));は次の例外をスローします。

なぜこの例外が発生するのか誰にもわかりますか? この問題を解決するための代替手段は何ですか。

ありがとう。

0 投票する
2 に答える
1372 参照

xml - XSLT を使用して要素を属性に変更し、名前を短縮する

変換する必要があるシナリオがあります:

に:

この XSLT の一部を使用して、ネストされたエンティティ タグを属性に変換してきましたが、うまくいきました。要素を属性に移動しながら、名前「FingerOne」を1、「FingerTwo」を2などに変更する方法がわかりません。

この回答https://stackoverflow.com/a/8274527/857994を見つけました。これは、基本的にマップを使用して変換を行う方法を示しています。ただし、ドキュメントで機能させることはできないようです。

JAXP を使用して XSLT 機能の Java のビルドでこれを機能させようとしていることに注意してください。XSLT2.0 の多くの機能をサポートしていないようです。