問題タブ [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.
c# - CHTMLエンティティを使用したXMLのシャープなシリアル化
データベースに山かっこ(より小さい/より大きい)を含む文字列があります。文字列をXElementに挿入してから、クライアントデバイスにシリアル化する必要があります。これで、htmlエンティティが明らかにエンコードされるため、角かっこは<および>として表示されます。最善の方法は、HttpUtility.HtmlDecodeを使用してエンティティをクライアントデバイスにデコードすることです。しかし、とにかくエンコーディングをエスケープして、これらのエンティティをそのまま送信させる方法はあるのでしょうか。
c# - XElementにGetAttributeValueメソッドがないのはなぜですか?
特定のAPI変更の理由を知りたいことがあります。グーグルはこの質問で私を助けていないので、多分StackOverflowはそうすることができます。MicrosoftがGetAttribute
XML要素のヘルパーメソッドを削除することを選択したのはなぜですか?以前のMSXMLのようなものSystem.Xml
がありましたが、どちらも属性値または欠落している場合は空の文字列を返します。ありますが、実装されていませんでした。XmlElement.GetAttribute("x")
getAttribute
XElement
SetAttributeValue
GetAttributeValue
確かに、プロパティをテストして使用するためにロジックを変更するのはそれほど手間はかかりませんXElement.Attribute("x").Value
が、ユーティリティ関数を一方の方法()で提供するのはそれほど便利でSetAttributeValue
はなく、もう一方の方法では奇妙に思えます。私が簡単に休んで、それから何かを学ぶことができるように、決定の背後にある理由を知っている人はいますか?
c# - 名前空間で XElements を解析するエレガントなソリューション
私が取り組んでいるプロジェクトでは、XML の XSD を書き終えたところです。これにより、他のエンジニアが XML に簡単に取り組めるようになりました。この XSD とともに、XML 名前空間が登場しました。現在の解析コードでは、次のようなものを使用しています。
XML は、プログラム全体で XML の入力と出力に使用される定数でいっぱいのクラスです。しかし、名前空間が使用されるようになったため、これは機能しなくなりました。明らかですが、ほとんど洗練されていない解決策は、すべての解析コードを次のようにすることです。
もっと考えてみると、拡張メソッドを定義してこの名前空間に追加し、XElement を返す方がはるかに優れているように見えます。このアイデアにより、コードは次のようになります。
これらのアイデアは、名前空間の問題に対処するためにこれまでに思いついたものです。基本的に、ここでの私の質問は次のとおり
です。既知の定数名前空間で XElements を解析するためのより良い方法はありますか? もしそうなら、それは何ですか?
c# - XElement から子要素を取得する
重複の可能性:
XElement の子
C# を使用して XElement から子要素を取得したいと考えています。これはどのように行うことができますか?
xml - XLinq: リストに保存されている特定の XElements を xml ファイルから削除します
反復中にノードを削除することはできません。問題ありません。
Guid を含むリストがあります。
XElement にそのリストの Guid があるその xml ファイル内のすべての XElements を削除したい
それは私のxmlファイルです:
それはうまくいきません:xDoc.Descendants("Department ").Remove<XElement>().Where...
どうすればそれを機能させることができますか?
.net - 不変の(読み取り専用)XDocumentを作成する方法はありますか?
を返すAPIがあり、XElement
それらの背後にあるドキュメントをXElement
不変(読み取り専用)にする必要があります。私はそれが必要です:
- 開発者に誤って変更する機能を与えないでください:)
- パフォーマンスの向上-のコピーを作成する
XDocument
と、パフォーマンスが「重い」操作になる場合があります。
XDocument
//で必要な動作を継承XElement
およびオーバーライドすることはできないようです。これは、 XContainer
そこにあるすべての仮想メソッドが次のようにマークされているためinternal
です。
だから私の質問は-それを実現する方法はありますか、それとも'sのようなものを返す別のAPIを持っている方がXPathNavigator
良いですか、それともなどのような独自のクラスを持っている方が良いIReadOnlyXElement
ですか?
ienumerable - IEnumerableを変換するXElementへ
私のクエリの戻り値はIEnumerable<XElement>
です。XElement
結果のデータをタイプに変換するにはどうすればよいですか?出来ますか?誰かが私がこれを理解するのを助けることができますか?
以下の関数にパラメーターとしてresQを渡す必要があります。そのためには、resQをXElementタイプに変換する必要があります。
linq-to-xml - XElement.Elements(XName name) が XElement.Elements() に存在する名前を返さない
ご覧のとおり、schema.Elements
は 3 つの要素を返します。そのうちの 1 つは EntityContainer 要素です。しかし、「EntityContainer」() を指定して Elements オーバーロードを検索しようとすると、schema.<EntityContainer>
何も取得されません。
vb.net - ローカルXML名前空間を動的に設定する方法は?
同じスキーマを公開するxml名前空間がいくつかあります。
名前空間を動的に受け入れ、指定された名前空間に従って属性またはプロパティを適用する関数を使用したい:
私は実際に、この関数を使用して名前空間の結果を指定された引数に設定したいと考えています。
この記事を見てください。彼は私が望んでいることを正確に実行しますが、VB.NET XML Literalsには、ハードコードされた方法よりもはるかに優れた方法があると確信しています。
私は私がこのようにそれを簡単に行うことができることを知っています:
.<>
しかし、VB.NETに名前空間を含める方法があるかどうか疑問に思っていました。驚くべき言語.@
の...<>
ショートカットです。
.net - XElement または LINQ で XPath を使用する方法は?
次の XML を検討してください。
要素の値だけを取得するための非常に短い方法を探してい<hash>
ます。私は試した:
しかし、それはうまくいきません。に XPath クエリを提供することは可能XElement
ですか? 古いSystem.Xml
フレームワークで次のようなことを行うことができます。
LINQ 名前空間にこのようなものはありますか?
アップデート:
これをもう少しいじった後、私がやろうとしていることを行う方法を見つけました:
誰かがより良い解決策を持っているかどうかを知りたいですか?