問題タブ [vtd-xml]

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 に答える
221 参照

java - javaでvtdを使用してxmlからノードを削除します

親ノードから id=2 を持つ完全なノードを削除したい。Javaでこれを行う方法は?前もって感謝します。

0 投票する
0 に答える
129 参照

vtd-xml - VTD-XML xpath で 1 対多の関係を処理する方法

VTD-XML を使用して、大きな xpath を使用して xml を解析しているときに、

1) たとえば、単一の xpath 内の xml 要素との 1 対多の関係。

問題は、複数のオートパイロットを使用して一対多の関係を壊していることです。ただし、基になる naigator は同じです。時々私はすべての要素を取得していません。

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

java - VTD-XML のノード名と値で 2 つの異なる xml ファイルをマージ (結合) する方法は?

私は Java の初心者です。いくつかの Java ライブラリを評価した後、パフォーマンス テストと Xpath を使用するオプションによって VTD-XML を選択しました。StaX を試してみましたが、解析がどのように機能するかを理解するのは本当に難しいと思います。私にとってはXD)。

したがって、私の目標は、partial_geo_codes.xml の geo_code ノードを、両方のノード ext_id の値に一致する geo_code accommodation.xml に「注入」することです。

宿泊施設.xml

これは、accommodation.xml に追加されるファイルです。

partial_geo_codes.xml

これは期待される出力です:

宿泊施設_new.xml

そして、これは私の「本当に嫌な」Java クラスです。

一度に 2 つの xml ファイルを反復処理し、ext_id ノード値によってはるかに高速にマージする方法を支援してくれる手がかりを本当に感謝しています。今では本当に時間がかかりすぎます。

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

xml - vtd XML で複数のタグ値を連結するにはどうすればよいですか?

vtd XML で XPATH を使用して複数のタグ値を連結するにはどうすればよいですか?

以下を使用しようとしましたが失敗しました。

この XPATH で concat を使用すると、次のエラーが表示されます。

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

java - VTD-XML XPath で最初の 3 つのレコードがスキップされる

VTD-XML を使用して、大きな xml ファイルを小さな xml ファイルに分割しています。すべてがうまく機能します:

autoPilot.selectXPath("//nodeName")

何らかの理由で最初の 3 つのノードをスキップしています。

LOG.info("xpath has found "+ ap.evalXPath() +" items");編集: vtd-xml-authorは、カウントを返さずにノード インデックスを返すことを指摘しました。

新しい分割 xml ファイルには、元のファイルの最初の 3 つのノードがありません。

これが基本的な XML レイアウトです。本当の xml データを表示することはできませんが、次のようになります。

そして、ここに私がxmlを分割するために使用している関数があります:

編集: while ループに対抗して追加されました。

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

c++ - vtd-xmlc++のコンパイルとインストールのエラー

誰かがvtd-xmllibのc++バージョンを使用しましたか?

最近、xmlファイルをc ++またはcで解析したい(トラバーサルする必要がある)ので、vtd-xmlが完璧なソリューションであると考えましたが、mingwをコンパイルすると、多くの警告とエラーが出力されます。

私はそれらのエラーを調べて、いくつかの「常識的なエラー」を見つけました。このvtd-xmllibのc++バージョンが信頼できるものであるかどうかあなたは何か考えがありますか?または、xml解析(高速で低メモリ消費)に適したいくつかの代替ライブラリ?ダウンロードしたバージョンはver2.11です

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

java - vtd-xmlを使用して巨大な4GbXMLファイルをロードする

大規模なデータ移行プロジェクトの可能なソリューションとしてvtd-xmlを評価しています。入力データはxml形式であり、vtd-xmlが実行可能であれば、開発時間を大幅に節約できます。vtd-xml Webサイト( http://vtd-xml.sourceforge.net/codeSample/cs12.html)からサンプルのProcess Huge XML Documents(2GBより大きい)を実行します。

500Mbを正常に処理しましたが、恐ろしいjava.lang.OutOfMemoryError:4GbファイルでのJavaヒープスペースエラーが発生します。

  1. JVM引数:-Xmn100M-Xms500M-Xmx2048M。
  2. JVM引数:-Xmn100M-Xms500M-Xmx4096M。

そしてMavenで:

  1. MAVEN_OPTS = -Xmn100M-Xms500M-Xmx2048Mを設定します
  2. MAVEN_OPTS = -Xmn100M-Xms500M-Xmx4096Mを設定します

注:JVM引数のさまざまな組み合わせでテストしました。

私はvtd-xmlサイトとAPIドキュメントを研究し、ここや他の場所で多くの質問を閲覧しました。すべてのオーナーは、JVMメモリをより高く設定するか、物理メモリを追加することを指します。vtd-xml Webサイトでは、xmlファイルサイズの1.3倍から1.5倍のメモリ使用量について言及していますが、64ビットを使用する場合は、使用可能なメモリよりもはるかに大きなファイルを処理できるはずです。確かに、35Gbxmlファイルを処理するために64Gbメモリを追加することも現実的ではありません。

環境:

Windows764ビット。6GbRAM。(他のすべてのアプリを閉じ、85%のメモリを利用可能)

Javaバージョン「1.7.0_09」

Java(TM)SEランタイム環境(ビルド1.7.0_09-b05)

Java HotSpot(TM)64ビットサーバーVM(ビルド23.5-b02、混合モード)

Eclipse Indigo

Maven 2

EclipseとMavenの両方からサンプルを実行すると、メモリ不足の例外がスローされます。

コード例:

エラー:

どんな助けでもいただければ幸いです。

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

vtd-xml - VTDXMLの要素からXPath式を評価します

XMLファイル:

Javaコード:

app要素を格納し、app要素内でxpath式を実行できます。このような

VTD XMLでこれを行うにはどうすればよいですか?

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

javascript - node.js での VTD-XML の使用

VTD-XML は、非常に大きな XML ファイル (私の場合、MediaWiki のダンプ ファイルは Wiktionary のようなファイル) へのランダム アクセスという、私が長い間抱えていた問題に対する完璧な解決策のように見えます。

問題は、node.js から VTD-XML を使用する方法があるかどうかです。インターネットで検索しても、この 2 つのトピックについて言及している人を見つけることができません。

VTD-XML は、Java、C#、C++、および C で公式に利用可能です。ただし、JavaScript や node.js を含むスクリプト言語については、サイトで言及されていません。

これらを一緒に使用するために見つけられなかった解決策はありますか、それとも自分で作成する場合はどこから始めればよいですか?

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

java - VTD-XML:ルート要素からではなくXPathクエリを実行する方法

大きなXMLファイルを処理する必要があるため、DOMパーサーからVTD-XMLに移行することにしました。

JavaのDOMパーサーを使用した場合、ルートからではなく、任意のノードからXPathクエリを評価できました。XPath.evaluateプロトタイプを見てください。

Object item開始コンテキスト(たとえば、ノード)です。これはとても便利です。

しかし、VTD-XMLで同じことを行う方法を見つけることができません。私はそのAPIを読み、多くの例を読みました。たとえば、これですが、どこでもクエリはルートから実行されます。

どうやってするか?