問題タブ [scala-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.
xml - XML 要素のソース行 (場所) を追跡する方法は?
この質問に対する満足のいく答えはおそらくないと思いますが、何か聞き逃した場合に備えて質問します。
基本的に、特定の要素インスタンスから、特定の XML 要素のソース ドキュメント内の行を見つけたいと考えています。これは、診断エラー メッセージを改善するためだけに必要です。XML は構成ファイルの一部であり、何か問題がある場合は、エラー メッセージの読者に XML ドキュメントの正確な場所を示すことができるようにしたいと考えています。エラーを修正できるようにします。
標準の Scala XML サポートには、おそらくこのような組み込み機能がないことを理解しています。結局のところ、すべてのNodeSeq
インスタンスにそのような情報で注釈を付けるのは無駄であり、すべての XML 要素が解析元のソース ドキュメントを持っているわけではありません。標準の Scala XML パーサーは行情報を捨ててしまい、後でそれを取得する方法がないように思えます。
しかし、別の XML フレームワークに切り替えることはできません。より良い診断エラーメッセージのために「のみ」別のライブラリ依存関係を追加することは、私には不適切に思えます。また、いくつかの欠点はありますが、組み込みの XML のパターン マッチング サポートが非常に気に入っています。
私の唯一の希望は、標準の Scala XML パーサーを変更またはサブクラス化して、それが生成するノードにソース行の番号の注釈が付けられるようにする方法を教えてくれることです。おそらく、このために特別なサブクラスをNodeSeq
作成できます。それとも、動的すぎるAtom
ためにサブクラス化することしかできないのでしょうか? NodeSeq
知らない。
とにかく、私の希望はゼロに近いです。ノードの作成方法を変更するためにフックできる場所がパーサーにあるとは思いません。その場所で行情報が利用可能です。それでも、なぜこれまでこの質問を見つけられなかったのだろうか。これが重複している場合は、オリジナルを指摘してください。
xml - scala でノードのすべての子要素を選択する
「a」という名前のノードの最初の子要素を選択したいと考えています。私が今持っているものは次のとおりです。
これは非常に冗長です。私は次のようなものを探していました:
これはscalaで可能ですか?
scala - VTD-XML を使用する Scala プログラムでの ArrayIndexOutofBoundException
VTD-XML ライブラリをインポートしました。コンパイルは良好ですが、実行時に例外が出力されます。
コードのwhileの問題を解決しました。しかし問題は、私が常に-1を取得することですap.evalXPAth
xml - ScalaXMLプルパーサーと場所
多数のXMLファイルで属性が欠落している要素を検索するユーティリティを作成するように依頼されました。担当部門は、何百ものファイルを壊してしまうため、DTDで属性を必須にすることはできません。彼らは、数日/数週間にわたって手動で編集したいと考えています。
Scala2.8.1で小さなコマンドラインツールを書いています。コードを関数型プログラミングで純粋に保ち、マルチスレッドで実行できるように、「プル」パーサーを使用します。
XMLイベントの場所が必要です。Java 6()で提供されるAPIには、イベントの行番号を返すjavax.xml.stream. XMLStreamReader
メソッド( )があります。getLocation()
これを使用して、欠落している属性を探す場所をユーザーに通知するメッセージを作成できます。
でプルパーサーを使用したいのですがscala.xml.pull.XMLEventReader
、位置情報を提供していないようです。
私は何かが足りないのですか?それはScalaAPIのどこかにありますか?
xml - テキストがない場合に短いノードをフォーマットする scala.xml.PrettyPrinter
私は scala.xml.PrettyPrinter を使用して XML を Scala でフォーマットします。問題は、テキスト コンテンツのないノードにあります。これの代わりに:
私はこれを好むだろう:
PrettyPrinter を自分のやり方でフォーマットするにはどうすればよいですか?
xml - scalaで順序付けられたxml要素を作成するにはどうすればよいですか?
これは私には間違っているようです - 要素の順序が構築された順序から変更されているのはなぜですか?
xml - Scala Xml要素のリストを単一のscala要素に変換する方法は?
ので、私は持っています
そして、私は次のようなものを書きたいです
scala - scala.xml.pullを使用してノードとそのすべての子を抽出する最良の方法は?
私はscala.xml.pullを使用して、さまざまな大きなxmlファイルを解析しています。これはイベント処理にはうまく機能しますが、私がやりたいのは、パーサーに特定のノードのミニドキュメントを吐き出させることであり、これを行う簡単な方法、または少なくとも「スカラ」の方法ではありません。
私は、イテレータを使用して、タグに一致する EvElemStart イベントを見つけることができる、次のようなシーク関数を構築することを考えています。
その後、私はあまり明確ではありません。XMLEventReader がポップアウトするすべてのイベントを反復するのではなく、このタグのすべての子をドキュメントに取得する簡単な方法はありますか?
私が最終的に探しているのは、ファイルをスキャンし、通常の scala xml 処理を使用して処理できる特定のタグまたはタグのセットのインスタンスごとに xml 要素 (Elem ?) を発行するプロセスです。
scala - Scala XML解析でnilを処理する方法は?
解析してdbに保存する必要があるモデルを表すXMLドキュメントがあります。一部のフィールドでは、xsi:nilで示されるNULL値が含まれる場合があります。そのようです
解析にはscala.xmlDSLを使用します。問題は、何かがゼロであるかどうかを判断する方法が見つからないことです。これ:(elem \ "quantity")は空の文字列を返すだけで、数値に変換しようとすると爆発します。また、それをOptionでラップしても役に立ちません。
そのXML部分からNone、Nil、さらにはnullを取得する方法はありますか?
scala - ScalaのCDATAの変数
展開する変数をscalaのcdataセクションに配置する方法はありますか?