問題タブ [jdom]
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 - JDOMを使用してルート要素から属性を取得できない理由
このxmlファイルを考えてみましょう:
JDOMを使用してファイルを解析し、ルート要素から属性名と値を抽出しようとしています。
これは私がこの目的のために狂ったコードです:
このxmlファイルではすべて正常に機能します。しかし、私がこのファイルを使用するとき:
私は得るException in thread "main" java.lang.NullPointerException
解析する前にxmlファイルからDOCTYPEを削除し、解析が終了した後にそれを貼り付ける必要があると思いますか。
または、この状況で私ができることが他にありますか?
ありがとう
java - 不正な形式/不完全な/無効なXMLファイルの解析
以下に示すように、JDOMとxpathを使用してXMLファイルを解析し、ファイルを解析するプロセスがあります。
上記は問題なく動作します。xpath式はプロパティファイルに保存されるため、いつでも変更できます。ここで、4000バイトのチャンクでのみxmlファイルを送信するレガシーシステムからのいくつかのxmlファイルを処理する必要があります。既存の処理は4000バイトのチャンクを読み取り、各チャンクをデータベースの1行としてOracleデータベースに格納します(レガシーシステムに変更を加えるか、データベースの行としてチャンクを格納する処理は問題外です) 。
特定のxmlドキュメントに関連するすべての行を抽出してそれらをマージし、既存の処理(上記)を使用してxmlドキュメントを解析することにより、完全な有効なXMLドキュメントを作成できます。
ただし、XMLドキュメントから抽出する必要のあるデータは、常に最初の4000バイトになります。もちろん、このチャンクは不完全であるため有効なXMLドキュメントではありませんが、必要なすべてのデータが含まれています。JDOMビルダーが拒否するため、1つのチャンクだけを解析することはできません。
有効なXMLドキュメントを取得するために、すべての部分(非常に多くの部分になる可能性があります)をマージせずに、不正な形式のXMLチャンクを解析できるかどうか疑問に思っています。これにより、データベースに何度かアクセスしてチャンクが使用可能かどうかを確認でき、最初の4000バイトを使用できるようにするためだけに数百のチャンクをマージする必要がなくなります。
私はおそらくJavaの文字列関数を使用して関連データを抽出できることを知っていますが、これはパーサーまたはxpathを使用して可能ですか?または、両方とも、解析する前にxmlドキュメントが整形式のドキュメントであることを期待していますか?
java - XPath を使用する JDom
私は JDom の初心者です。XPath を使用して xml ファイルにアクセスしようとしています。私のコードは次のようなものです:
org.jdom.xpath.XPath クラスを既にインポートしています。javac を使用してクラスをコンパイルすると、エラーは発生しませんでしたが、プログラムを実行しようとすると、次の例外メッセージが表示されます。
ここで何か見逃しましたか?どんな助けでも大歓迎です!
ホーム ディレクトリの直下にある .cshrc ファイルに jaxen と dom4j を追加し、2 つの jar ファイルも同じディレクトリにあります。
コマンドラインからこのコマンドを試すと、新しい例外が生成されます....
ちなみに、私のプログラムにインポートされたクラスは次のとおりです。
java - JDOMを使用してXML解析を自動化するにはどうすればよいですか?
JDOMを使用してXMLファイルを解析し、彼のすべての要素からいくつかの情報を取得する必要があります。
したがって、element1の場合は簡単です。しかし、element2の場合、私は彼の子供を通過する必要があり、子供が子供を持っている場合は、それらも通過します。
この場合、再帰呼び出しなど、同じ関数を使用できるようにするために、何を提案しますか。
ありがとう。
java - jdomを使用して名前空間を設定する
私はxmlでこのフォーマットを持ちたいです:
私は次のコードを使用しています:
名前空間を次のように設定した場合:
それから私はthi:sを取得します
なぜそれが機能しないのか、そしてこの問題を解決する方法はありますか?
ありがとう、ハナー
java - 不明なプロトコル: c (JDOM a SAXBuilder)
SAXBuilder で JDOM を使用して XML ファイルを解析していますが、次のエラーをスローするファイルに問題があります。
そして、行は次のとおりです。
インターネットでいくつかの調査を行った後、エラーは Java 1.6 に関連していると思います。
どう思いますか ?
xml - JDOM: xml-code を含む文字列から要素を作成する
jdomを使用してxmlへのテキスト入力を解析しています。次のような構造になっています。
次に、通常の w3c.dom オブジェクトが必要です。私はこのコードを使用しています:
私はこのコードで要素を作成しています:
e は new Element("item") です
正常に動作しますが、問題は「説明」ユーザーがいくつかの xml タグを挿入したときです。私はそれを処理したいと思います。次のような出力があります。
要素を作成するときにこれらのタグを自動的に解析する方法はありますか? w3cDoc から、DOMSource を使用して Source を作成しています。これは、さらに変換するために必要です。たぶん、エスケープされたブラケットを交換する必要がありますか?
__
dce
java - JDOMとXpathを使用してxml値要素を抽出できない
xpatch式が渡されると、「doc」で参照されているxmlドキュメント内の指定された要素の値を抽出するメソッド(getSingleNodeValue())があります。この時点でdocが以下に示すように初期化されており、xmlInputがxmlコンテンツを含むバッファーであると想定します。
メソッドを呼び出すと、次のxpathxpressionを渡します
これが方法です。基本的にはxmlバッファーを受け取り、xpathを使用して値を抽出します。
上記のメソッドは常に「?」を返します つまり、何も見つからないため、「list」はnullです。それが見るxmlドキュメントは
同じ方法が他のxmlドキュメントでも機能するので、これについて何が特別なのかわかりません。例外はないので、xmlは有効なxmlです。メソッドが常に「list」をnullに設定するというだけです。何か案は?
編集
提案されているように、これは上記を示す簡単な実行プログラムです
上記を実行すると、出力は次のようになります。
編集
さらにテストを実行しましたが、名前空間のURLを削除しても機能するようです。理由はまだわかりません。名前空間を無視するように指示する方法はありますか?
編集
上記はJDK1.4.1に実装されているため、それ以降のバージョンのJDKのオプションがないことにも注意してください。これが私がJdomに固執しなければならなかった理由です。
java - javaandroidはリソースファイルのパスをメソッドパラメータに渡します
resフォルダーの下にxmlファイルがあります。構造はres/raw/myfile.xmlです。現在、SAXBuilder.build( "raw / myfile.xml");を使用してファイルを解析するためにJDOMを使用しています。また、Logcatでは、ファイルを開くことができないことを示しています。どうすればこれを達成できますか?助言がありますか?