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

c# - シリアル化された LINQ to SQL エンティティを Word 2007 ドキュメントに追加する方法

Open XML SDK (1.0)Word 2007 Content Control Toolkit、および LINQ to SQL (CodeSmith PLINQO テンプレートを使用) を使用して、テンプレート ベースのドキュメント ジェネレーターを作成しました。これを行うために、ソース コードで指定された DataLoadOptions を使用してエンティティを取得することにより、LINQ to SQL エンティティを XML にシリアル化しました。

これはうまく機能しますが、最初にテンプレートに XML を入力するために、現在、VS2008 のイミディエイト ウィンドウからコンテンツ コントロール ツールキットに XML をコピー アンド ペーストする必要があり、現在のエンティティからのすべてのデータが残っています。

私は 2 つの解決策を探しています。1) Word 2007 でドキュメント ジェネレーターを構築するのにこれは良い方法ですか? 1) データなしで必要な XML だけを生成するにはどうすればよいですか? XSD を作成してから空の XML ドキュメントを作成することを考えましたが、ビジネス ユーザーがテンプレートの XML を取得できるようにプログラムで行う方法がわかりませんでした。(これは必須ではありません。あると便利です。)

ご意見ありがとうございます、

ライアン

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

c# - XElement の子

XElement の子だけを取得するにはどうすればよいですか?

現在、子ノードだけでなく、XElements のすべてのレベルを返す XElement.Descendants() 関数を使用しています。

私が本当に欲しいのは、子供だけの IEnumerable です。

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

.net - XLINQを使用してXHTMLファイルを解析するためのライブラリ

将来追加/削除/名前変更/移動される可能性のある約50のXHTMLページのインデックスを作成する必要があることに気付いたとき、「問題ありません。LINQtoXMLを使用してクイックインデックスジェネレータを作成します。 XHTMLは間違いなくXMLとしてカウントされます」。

もちろん、実行してみるとすぐに、XLINQが などのXHTMLエンティティでチョークするという事実に気付きました。私は次のアルゴリズムを使用してそれを回避しました:

  1. XHTMLファイルを文字列に読み込みます。
  2. 正規表現検索を使用し、その文字列を置換して、関連するすべてのエンティティを定義するセクションをDOCTYPEに追加します(読み取ったファイルの「title」属性のみを考慮し、出力ファイルは現在エンティティを使用していないため、それらをすべて空白に設定しますが、後で実際の値を追加する場合があります)。
  3. 結果をXDocumentに解析します。

ファイルを保存するには、反対のことをします。

  1. XDocumentを文字列に保存します。
  2. エンティティ定義を取り除きます。
  3. ファイルに保存します。

私の質問は、XHTMLファイルをXDocumentsに読み込むために使用できるライブラリ(特に組み込みの.Netライブラリ)はありますか?私が書いたコードはその目的(現在のインデックスを生成し、ジェネレータープログラムの残りの部分をテストすること)を達成しました。他の誰かがすでに同じことを書いてテストしている場合は、テストに時間をかけたくないと思います。


リアさん、ありがとうございました 。

編集:どうもありがとうございました。これはうまくいきます!XHTMLを保存するときはまだ少し文字列処理を行う必要があり(ライブラリは実際にはそのために作成されていないと思います:))、CDATAセクションを無差別に貼り付けないようにするためにAgilityPackのソースを少しいじる必要がありましたすべてのスタイル属性の内部の周り(すでに1つ存在している場合でも)ですが、それがオープンソースのポイントですよね?

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

c# - この linq コードの複数の orderby

これで注文する 2 番目のアイテムを追加するにはどうすればよいですか? 私もgoalsScored要素で注文したいです。

しかし、thenby はこのクエリには当てはまらないようです。

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

c# - LINQ to XML: 複数のレベルを 1 つのリストに折りたたむ

現在、Silverlight アプリに取り組んでおり、XML データを適切なオブジェクトに変換してデータをバインドする必要があります。この説明の基本的なクラス定義は次のとおりです。

このオブジェクトにフィードする XML の例を次に示します。

そのため、さまざまなノードが特定のプロパティにマップされます。この質問の鍵となるのはノード<EX><I>ノードです。<EX>ノードには 1 つ以上のノードのコレクションが含まれ<I>、この例では、上記のクラス定義の「除外」プロパティに一致します。

ここに挑戦が来ます(私にとって)。この XML を発行する Web サービスを制御できないため、変更することはできません。この例では、1 つ<I>のノードに 1 つ以上の<I>ノードの別のコレクションも含まれていることがわかります。LINQ to XML クエリを使用して、両方のレベルを 1 つのコレクションに統合し、下位レベルの項目を区切る文字を使用できるようにしたいと考えています。この例では、LINQ クエリが TablularEntry を返したときにオブジェクトの場合、次のように表示される Exclude アイテムのコレクションが含まれます。

  • 前立腺の腺腫性過形成 (600.20-600.21)
  • 前立腺:
  • *腺腫 (600.20-600.21)
  • ※拡大(600.00~600.01)
  • *肥大 (600.00-600.01)

したがって、XML では、最後の 3 つのエントリは実際には 2 番目のエントリの子オブジェクトですが、オブジェクトの Excludes プロパティでは、それらはすべて同じコレクションの一部であり、前の子オブジェクトには識別子文字/文字列が含まれています。

以下で使用しているLINQクエリの始まりがありますが、子オブジェクトを統合するビットがよくわかりません。現在存在するコードは次のとおりです。

FROMステートメントをネストする必要があると考えています

= (i... から) を除外

子ノードを集めるためのステートメントですが、うまく処理できません。もちろん、それは私が自分の論理から少し離れているからかもしれません。

回答にさらに情報が必要な場合は、お気軽にお問い合わせください。

前もって感謝します、

スティーブ

0 投票する
4 に答える
6263 参照

c# - LINQ to XML との結合

XElements の 2 つのセットを 1 つの一意の要素セットに統合する必要があります。.Union() 拡張メソッドを使用すると、ユニオンの代わりに「すべてのユニオン」を取得できます。何か不足していますか?

0 投票する
4 に答える
1283 参照

c# - Linq to XMLとOledbConnectionを使用したExcelの速度の違いは?

私の現在の要件の1つは、ユーザーが週に1回程度更新するExcelスプレッドシートを取り込んで、そのドキュメントで特定のフィールドを照会できるようにすることです。

今のところ、すべてのExcel(2007)データを実行してxmlファイルにプッシュし(ファイルをアップロードするときに1回だけ、次にxmlを使用します)、必要なすべてのデータ(すべてではない)を保持します。スプレッドシートの列)Linq-to-XMLを介したクエリ用。xmlファイルはExcelよりも小さいことに注意してください。

ここで私の質問は、Linqを使用したXMLファイルのクエリとOledbConnectionを使用したExcelファイルのクエリの間にパフォーマンスの違いはありますか?別の不要なステップを追加するだけですか?フォローアップの質問は、xmlにプッシュし続けるのが使いやすさのために価値があるかどうかだと思います。

ファイルには約1000行あります。

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

c# - XText オブジェクトを、文字参照とエンティティが解決された文字列に変更できますか?

この XML を考えると:

私がやりたいのは、要素の文字列値を文字列として保存し、すべての文字参照とエンティティを同等の Unicode 文字に解決することです。したがって、この要素には「Circles & Boxes」が必要です。

これを行うと(テキストはテキストノードを表すXTextオブジェクトです):

「Circles & Boxes」が表示されますが、これは私が望んでいるものではありません。

これは可能ですか?

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

xml - PowerShell ISE で XDocument.Descendants() が IEnumerator を返すのはなぜですか?

Windows Installer XML (WiX) を操作する PowerShell スクリプトを作成しています。これを行うために、.NET 3.5 の新しい XML API を使用しています。これは、DOM よりも操作が簡単な API であることがわかったからです。次のスクリプト フラグメントは、きっぱりと動作を拒否しています。

スクリプトは、各 <String> タグを別々の行に出力する必要があります。このバグが解決されたら、もっと面白いことをするようにします;-)

XML ドキュメントは、標準の WiX ローカリゼーション ファイルです。

$strings は $null ではなく (明示的にテストしました)、$wxl を書き込みホストにすると、ドキュメントが読み込まれていることがわかります。$strings を Get-Member にパイプすると、「get-member にオブジェクトが指定されていません」というエラーが返され、write-host $strings は何もしません。$wxl.Descendants("WixLocalization") も試してみましたが、同じ結果が得られました。$wxl.Root や $wxl.Nodes などは期待どおりに機能します。PowerShell ISE でデバッグすると、予想される IEnumerable<XElement> ではなく、$strings が IEnumerator に設定されていることがわかります。IEnumerator を 1 つの MoveNext でテストし、次に Current でテストすると、"Current = "、おそらく $null であることが示されます。

奇妙なことに、以前のスクリプトでも同じ手法が機能していました。まったく同じコードですが、変数名と文字列リテラルが異なります。そして、そのスクリプトも(動作を確認するために)デバッグしようとしたところ、同じ動作を表示しているようです。

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

c# - 2 つの XML ドキュメントを比較するにはどうすればよいですか?

どちらも似ている 2 つのドキュメントがありますが、2 つのファイルを比較し、ドキュメント #2 には存在しないドキュメント #1 の値を返すためのエレガントで効率的な方法を見つける必要があります。

XML ドキュメント #1

XML ドキュメント #2

この2つの文書をidフィールドで結合できればlinqを使おうと考えていました。より良い方法はありますか?ID # 5 と 6 を返したいと思っています。