問題タブ [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 - Performing complicated XPath queries in Scala
What's the simplest API to use in scala to perform the following XPath queries on a document?
(s
is defined as a nickname for a particular namespace)
The only documentation I can find on Scala's XML libraries has no information on performing complicated real XPath queries.
I used to like JDOM for this purpose (in Java), but since JDOM doesn't support generics, it will be painful to work with in Scala. (Other XML libraries for Java have tended to be even more painful in Java, but I admit I don't know the landscape real well.)
java - JDOM、XPath、および名前空間の相互作用
XPath 式を使用して JDOM ドキュメントからいくつかの要素を抽出するのに非常にイライラしています。XML ドキュメントのサンプルを次に示します。ドキュメントから ItemCost 要素を完全に削除したいのですが、現時点では XPath 式を評価するのに問題があります。
通常は //srv:ItemCost などの式を使用してこれらの要素を識別しますが、これは他のドキュメントでは問題なく機能しますが、ここではリスト内の 0 ノードを継続的に返します。これが私が使用しているコードです:
response は、上記の XML スニペット (XMLOutputter で検証済み) を含む JDOM 要素です。ノードは、このドキュメントを解析するたびに size()==0 を継続的に持ちます。同じドキュメントで Eclipse の XPath パーサーを使用しても、この式は機能しません。掘り下げた後、Eclipse エバリュエーターが //*[local-name() = 'ItemCost'] という式で動作するようになりましたが、Java コードの //srv:ItemCost をこれに置き換えても、結果は得られませんでした。XML から名前空間宣言を削除すると、//srv:ItemCost は Eclipse パーサーで正しく解決されますが、XML からは削除できません。私は今、これについて何時間も頭を悩ませてきましたが、正しい方向に少しずつ動かしていただければ幸いです.
どうもありがとう
編集:修正コード -
java - JDom を使用した XPath
以下のコードでは、XPath を使用して「ハンドラ」XML 要素にアクセスしようとしていますが、うまくいきません。「elemHandler」要素は常に null です。誰でも私と明白な解決策を共有できますか? 前もって感謝します。
java - JDOM が XML ファイルを生成するために必要な「オーバーヘッド」メモリはどれくらいですか?
JDOM を使用して XML ファイルを生成する必要がありますが、これはかなり大きくなる可能性があります。すでにメモリ内にあるデータ、主に文字列以外に、JDOMがどれだけの追加メモリスペースを必要とするのか疑問に思っています。テスト用の簡単なプログラムを作成したところ、オーバーヘッドは XML コンテンツの約 2 倍であることがわかりました。
JDOM が追加のメモリを必要とする理由と、それを最適化できる方法があるかどうかを知っている人はいますか? JDOM オブジェクトは、既存の文字列への参照を保持するだけでよいのではないでしょうか?
テストに使用したプログラムは次のとおりです。
出力は次のとおりです。
ご覧のとおり、JDOM オブジェクトは約 70MB を使用しました。
java - スキーマを解析するJDOM
XSDスキーマをJDOMツリーに解析することは可能ですか?
または、これを実現できる他のライブラリ(ドキュメントが必要です;))はありますか?
ありがとう、
ExtremeCoder
java - XMLファイルに「xmlns」がある場合、XPathを使用してXMLファイルからテキストを取得するにはどうすればよいですか。
Webサイト( http://www.abc.com/)からXMLファイルを取得します。
URLは次のとおりです:http ://www.abc.com/api/api.xml
内容は次のとおりです。
xmlns="http://www.abc.com/"
XMLファイルにあります。
今、私はJDOMXPathを使用してテキストを取得していますHello!
xmlns="http://www.abc.com/"
XMLファイルから削除するためにテストしました。問題ありません。
Hello!
存在する場合、取得するようにJavaコードを変更する方法はxmlns="http://www.abc.com/"
?
(このXMLファイルを変更することはできません)
手伝ってくれてありがとう :)
java - JDOM を使用して自己終了タグを作成するにはどうすればよいですか
以下のような自己終了xmlタグを作成する関数をJdom apiで見つけることができました<selfClosingTag />
。
たとえば、次のコンテンツを作成する必要があります。
誰か教えてください。この種の自己終了タグは mathml ドキュメントで必要とされるため、これを行うべきではないことを教えてください。
ありがとう、チェプカ
java - xml パーサーの例外「プロローグはドキュメントの先頭にある必要があります」を修正する方法
次のコードを使用して XML ドキュメントを取得します (Java の JDOM による):
そして私は例外を取得します:
この URLhttp://www.sasatuan.com/api/api.php
を IE で入力しても問題ありませんが、firefox または chrome では同じエラーになります。
この xml ヘッダーはドキュメントの先頭にないため、jdom はそれを読み取ることができません。
ビルド前にxmlコンテンツをtrim()すると、この問題を修正できると思います。これを行う方法を知りたいです。
手伝ってくれてありがとう :)
java - Web アプリケーション内のパスで xsd スキーマを使用する方法
XML を読み取る JDOM パーサーを使用しており、xsd スキーマを使用した検証が含まれています。
一般に、xsd のパスをパーサーに設定するための構文は、ドキュメントによると次のとおりです。
schema_pathを http: で始まる URL または絶対パス (つまり、c:/myFolder/schema.xsd)に設定すること
で機能しますWeb ルートの下のどこかにあるでしょうか。JDOMビルダーへの相対パスを提供することは可能ですか?
この質問に答えることができる人は、xsd の使用に関して私が直面した別の問題の解決にも役立つ可能性があり
ます。
java - JavaでタイプセーフなXpathクエリを実行するにはどうすればよいですか?
私は現在、単純なXML解析を行うためにJDOMを使用していますが、タイプセーフなものはないようです。組み込みのJava DOMパーサーを使用する場合にも同様の問題が発生しましたが、APIがさらに多くなりました。
たとえば、引数としてをXPath.selectNodes
取り、Object
生のリストを返します。これは、Java1.1を少し感じます。
Java用の汎用化されたXMLおよびXPathライブラリはありますか、それともタイプセーフな方法でXPathクエリを実行できない理由がありますか?