問題タブ [xelement]
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 - 属性に基づいて XElement を削除する
私はまだxmlで遊んでいます。今、私は次のようなファイルを持っています:
合計 300 個の属性ノードがあり、そのほとんどは必要ありません。私がやりたいのは、id 属性に指定された値を持たないすべての属性ノードを削除することです。約 10 個の値を持つ文字列配列を作成しました。これらの値は、xml に保持したい属性を表しています。残りは削除したいと思います。
以下のコードでやろうとしているのは、使用したくないすべての属性ノードを削除して xml を変更することです。
何らかの理由で、私のコードが機能しません。不要な属性ノードは削除されません。
どうしたの?ID 属性値が文字列配列のどの数値とも一致しない属性ノードを削除するにはどうすればよいですか?
前もって感謝します。
PS - 私の問題を説明する際に、自分自身を明確にしていただければ幸いです。
encoding - XMLファイルのエンコーディングを最もよく検出する方法は?
任意のエンコーディングで XML ファイルをロードするには、次のコードを使用します。
これは機能しますが、ファイルを 2 回開くのは少し効率が悪いようです。私ができるようなエンコーディングを検出するより良い方法はありますか:
- ファイルを開く
- エンコーディングを検出する
- XML を XElement に読み込む
- ファイルを閉じる
c# - XMLは注釈をシリアル化します
変更したくないxmlファイルがある状況があります。XElementクラスのAddAnnotation関数は、シリアル化されておらず、XMLの一部でもないメモリのみのデータを追加するオプションを提供します。
これらの注釈を(たとえば、別のxmlファイルに)保存してから、同じオブジェクトを取得するためにxmlと注釈の両方を逆シリアル化できるようにしたいと思います。
元のxmlを変更したくないので、アノテーションを使用します。
要約すると、カスタムデータをxmlファイルに追加できるようにしたいと思います。このデータは、シリアル化するとxmlの一部にはなりません。または、xmlの一部になりますが、元のxmlを簡単に取得できます。
どうすればそんなことができるのか、何かアドバイスはありますか?
編集: xml処理命令を使用する必要がありますか?処理命令はこの種の使用を目的としていますか?
c# - DataTemplate を XElement サブクラスに適用する方法は?
からサブクラス化するXElement
と、要素名を として使用するDataTemplate
ために機能する は、サブクラスでは機能しません。何か案が?XElement
DataType
asp.net - IEnumerable のロードコレクション
どこ ????パスを追加できますか、それとも単一の xml 要素名でなければなりませんか?
すなわち。/blah/blah2/asdf を実行できますか?
xml - ASP.NET MVC での「XElement」プロパティの自動バインド
ユーザーがデータベース内の特定のエンティティを更新できるようにする「編集」アクションと「編集」ビューがあります。
データベースの種類は「XML」であり、DataContext (私は Linq-to-SQL を使用しています) はそれを「XElement」型のプロパティとして表します。
私の見解では、プロパティの「ToString()」出力からテキスト領域を次のようにレンダリングします。
これは、オブジェクトからデータを取得するときは正常に機能しますが、新しいデータをポストバックしようとすると、空白として返されます。
これは、自動バインダーが XElement 型のプロパティを処理する方法を認識していないためだと思います。
これを修正する方法、または自動バインダーの動作を何らかの方法でカスタマイズして、受信データを適切に逆シリアル化する方法はありますか?
c# - 文字列内のXMLタグを操作するにはどうすればよいですか?
私はMicrosoftVisualC#2008Expressで作業しています。
文字列があり、文字列の内容が次のようになっているとします。 "This is my <myTag myTagAttrib="colorize">awesome</myTag> string."
私は「素晴らしい」という言葉に何かをしたいと自分に言い聞かせています。おそらく「色付け」と呼ばれるものを実行する関数を呼び出します。
このタグが存在することを検出し、その属性を取得するためのC#の最良の方法は何ですか?私はC#でXElementsなどを少し使用しましたが、主にXMLファイルの読み取りと読み取りに関係しています。
ありがとう!
-アディーナ
.net - XElement を SiteMap として共有
サイト マップとして静的 XElement を使用するカスタム CMS があります。マップが更新されると、ライター スレッドを同期しますが、リーダーとは何もせず、必要なときに XElement を取得できるようにするだけです。
テストでは、リーダー スレッドから XElement を列挙しているときに、別の書き込みスレッドで XElement を更新すると、例外が発生すると考えました。そうではありませんでした。このアプローチに大きな問題があるかどうか、誰かが私に説明できるかどうか疑問に思っています。安全であるとは思えませんが、これまでのすべてのテストで安全であることが示されています.
c# - Web サービスに適した XML 型はどれですか?
現在の実装
SQL Server 2005 データベースには、xml 型の MessageXml という列を持つ、messages というテーブルがあります。
XElement 型の MessageXml というフィールドを持つ Message というクラスを生成する Linq to Sql クラスを含む C# ライブラリ プロジェクト。
XElement 型の MessageXml というプロパティを持つ MessagePayload クラスを公開する WCF Web サービス。
Web サービスは、Linq によって作成された Message クラスを SQL に提供しません。その中間として軽量のオブジェクトを使用します。
質問
XElement は本当に WCF サービスで使用したい型ですか、それともより良い型がありますか。サービスに渡す予定の xml は、完全なドキュメントである必要があります。また、xml ドキュメントを XElement としてロードするのに少し問題があります。サービスの軽量クラスで完全な xml ドキュメント タイプを公開する必要があると思いますが、XDocument と XmlDocument の違いについて少し混乱しています。
その上、シリアル化できない XDeclaration 型のプロパティが含まれているため、XDocument 型のプロパティを持つ WCF Message クラスを公開できません。
XmlDocument を使用する場合、Linq クラスと軽量クラスの間の変換で、xml 型のこの奇妙な変換を行う必要があります。
XmlDocument は正しいもののように思えます。翻訳を行う必要があることはわかっていますが、可能な限り適切に近づけたいと考えています。
c# - XElement: すべての葉のコレクション?
階層に関係なく、XElement ツリーのすべての葉のコレクションを取得する方法は? ありがとう