問題タブ [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 に答える
304 参照

xml-parsing - VTD-xml は適切な形式のファイルを無視します

私はxmlファイルを解析します(このファイルの平和):

vtd-xml を使用しましたが、この例外がありました。 com.ximpleware.extended.EntityExceptionHuge: Errors in Entity: Illegal entity char これは、ファイルに「エンティティ」が含まれていることを意味します。したがって、vtd-xml が検証ファイルを無視して正しくパーシングを行うにはどうすればよいですか。

ありがとう

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

xml - ファイルをメモリに読み込まずに VTD-XML のインデックスを作成できますか

メモリバウンドおよび CPU バウンドのデバイス (モバイルなど) で一連の XML ファイルにランダムアクセスを行う必要があります。VTD-XML でできることを読んだことがありますが、インデックス作成機能に関する情報はほとんどないようです。

a- コンピューター/デバイス上のインデックス A b- 別のコンピューター/デバイスにインデックスをコピーする c- インデックスを使用して、XML の小さなフラグメントにアクセスします (XML 全体をメモリに読み込む必要はありません)。 )

次に、小さな XML フラグメントを使用して、好きな種類の変換 (通常の XML フラグメントと同様に XSLT など) を適用できます。

次に、VTD-XML 形式がプラットフォームに依存することを示唆する 1 つの投稿を読みました。誰かがそうであることを確認できますか。

乾杯

クリス

0 投票する
3 に答える
945 参照

java - VTD-XML および Xpath 2.0 エスケープ文字列

VTD-XML を使用して Java で次の xpath 式を実行しようとすると、予期しないエラーが発生します。

コード:

エラー:

これはバグではありませんか?XPath 2.0 で一重引用符をエスケープしても問題ないという印象を受けましたか? 同じドキュメントを使用して XML Spy で xpath クエリを実行しようとすると、正常に実行されます。

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

java - VTD-XML 拡張を使用して大きな XML (3GB 以上) を吐き出す方法

最小サイズが 3GB の xml を分割する必要があります。Windows OS の 64 ビット JVM では、1.5GB のヒープ領域しか提供できません。VTDNavHuge ではなく、VTDNav のみを使用したサンプル コードをインターネット上で入手しました。議題は、上記の巨大な XML を読み取り、Xpath を使用してそこから特定のノードを抽出し、上記の抽出されたコンテンツで新しい XML を作成することです。VTD 拡張を使用して最大 256 GB のファイルを処理できることも言及されていましたが、常に OutOfMemomry 例外が発生します。それは VTDNavHuge を使用しています。提供された開発環境で上記のタスクを完了するためのサンプル コードを教えてください。>3GB サイズのファイルと 1.5GB のヒープスペース。VTD XML 拡張を使用してファイルを解析しているときに、メモリ マップ モードを使用しようとしています。

0 投票する
3 に答える
1616 参照

java - Java: 親ノードを持つ小さな XML ドキュメントに XML ストリームを分割する方法。VTD-XML

VTD XML と XPath を使用して大きな xml を読み取り、結果を複数のノードに分割する必要があります。ここでいくつかの解決策を見つけましたが、ノードを分割しますが、親情報はありません。

私が探している理由:

XPath 文字列: /CATALOG/MAIN/CD XPath ドキュメントに基づいて分割する必要があります

1) 初期文書:

<CATALOG> <MAIN id="1"> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> </CD> <CD> <TITLE>Empire Dummy</TITLE> <ARTIST>John Doe</ARTIST> </CD> <USEFUL>Useful node</USEFUL> </MAIN> <MAIN id="2"> <CD> <TITLE>Still got the blues</TITLE> <ARTIST>Gary More</ARTIST> </CD> </MAIN> <IGNORED>Ignored node</IGNORED> </CATALOG>

2) 結果: 文書 1:

<CATALOG> <MAIN id="1"> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> </CD> <USEFUL>Useful node</USEFUL> </MAIN> </CATALOG>

文書 2:

<CATALOG> <MAIN id="1"> <CD> <TITLE>Empire Dummy</TITLE> <ARTIST>John Doe</ARTIST> </CD> <USEFUL>Useful node</USEFUL> </MAIN> </CATALOG>

文書 3:

<CATALOG> <MAIN id="2"> <CD> <TITLE>Still got the blues</TITLE> <ARTIST>Gary More</ARTIST> </CD> </MAIN> </CATALOG>

お時間とご提案をいただきありがとうございます。

よろしくお願いします!

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

java - VTD-XML が XML ドキュメントのエスケープ文字列を台無しにしているようです

一部のフィールドに「&」などのエスケープされた XML 文字が含まれる XML データ セット (DrugBank データベースはこちらから入手可能) に取り組んでいます。

問題をより具体的にするために、シナリオの例を次に示します。

ドキュメント全体が巨大であるため、次のように解析しています。

finerParseサンプル xml (同じデータからコピーして貼り付けたスニペット) を使用してメソッドをテストしたところ、問題なく動作しました。しかし、上記のコードから呼び出すと、エラー メッセージ で失敗しましたErrors in Entity: Illegal entity char。入力finerParse(つまり、drugXML文字列) を出力する&amp;pg=PA440と、元の xml の文字列が "&pg=PA440" に変更されていることに気付きました。

なぜこうなった?私がしているのは、非常によく知られているパーサーを使用して解析することだけです。

PS最初にコンテンツ文字列を取得してその文字列を渡す代わりに、VTDNavを引数として渡すだけの代替ソリューションを見つけました。finerParseしかし、上記のアプローチで何がうまくいかないのか、私はまだ興味があります。