問題タブ [xattribute]
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.
linq-to-xml - XElement 属性の名前空間名の制御
私は、会社のデータを取得し、データベースで提供されているパターンに基づいて XML としてエクスポートするエクスポート エンジンを作成中です。実装する必要があるエクスポートの 1 つは、要素の値が null の場合、要素にxsi:nil="true"属性を追加する必要があります。
エクスポート リスト内の各項目をループ処理し、その内部 XElement オブジェクトを (ルールに基づいて) 生成し、.ToString() 表現をデータベースに保存します。すべての内部ピースが生成された後、それらはデータベースから取得され、解析されて XElement オブジェクトに戻され、外部 xml ルートに追加されます。(すべてをデータベースに保存すると、エクスポートを一時停止したり、サーバーの再起動後にエクスポートを再開したりできます)
外側のルートに xsi 名前空間を指定しましたが、これは (解析された) 内側の XElement を追加するときに機能しません。
これは、私のコードが現在どのように機能するかを表しています。
次の結果が得られます
拡張名を使用しないようにする方法がわかりません(このページの下部に向かって: http://msdn.microsoft.com/en-us/library/system.xml.linq.xnamespace.aspx )
途中でデータベースに保存する「.ToString()」ステップを削除できた場合、すべての XElement 項目を追加すると名前空間が正しく解決されるため、この問題は発生しません。
私の質問は次のとおりです。解析を制御して、展開された名前 p1 を使用せず、代わりに外側の XElement の名前空間を使用するように指示する方法はありますか? または 、展開された名前を見て、それがルートと同じであることを確認して削除するものはありますか?
c# - XAttribute を使用して属性を追加する
次のようなルート XML があります。
データ要素ノードの下に、名前、年齢などの顧客関連の情報をいくつか追加する必要があります。したがって、私が期待する結果は次のとおりです。
どうすればこれを達成できますか?C#、.net 4.0 を使用しています。
以下のコードを試してみましたが、期待した結果が得られませんでした。
コードを実行すると、次のようになります。
どんな助けでも大歓迎です!
ありがとう、M
c# - XDocumentを使用してC#でxmlファイルに要素を追加する
これは私の現在の XML 構造です
次のC#を使用していますが、実行しようとするとエラーが発生します
どこを間違えますか?
エラーは
c# - LINQ to XML: 値が DBNull.Value の場合、XAttribute を作成しない
C# を使用してデータベースにクエリを実行し、DataTable
. これから、DataTable
LINQ to XML を使用して XML ファイルを作成します。
私の問題は、データ テーブルの null 列の場合、要素で SetAttributeValue を呼び出すと、空の属性が作成されることです。SetAttributeValue(name, value)
値が の場合、属性をまったく追加しませんnull
。この動作を模倣する方法はありDBNull.Value
ますか? 値が等しいかどうかを確認するために、すべての行と列をチェックしたくありませんDBNull.Value
。
期待される:
実際:
Element1 のコード:
vb.net - 自動的にxmlns属性を持つXElement
以下はこの出力を与えています:
問題は、なぜ<Open>
XElement が自動的にxmlns="
" 属性を取得したのかということです。
同じ出力が必要ですが、XElement への属性はありません<Open>
どんな助けでも大歓迎です。
c# - XML要素の属性値は常に文字列のデータ型ですか?
LINQ を使用して XML ドキュメントを作成するときに、XElement をいくつかの属性を持つルート要素に追加し、LINQ を使用してそのドキュメントの XElement を読み取ると、XAttributes.Value の戻り値は既定で文字列になります。
この値を bool 型の変数に代入するには、関数「Convert.ToBoolean()」を呼び出す必要があります。
ご覧のとおり
、"Name" と呼ばれる XAttribute の値は long 型でなければなりません!
「IsEvenNumber」と呼ばれる XAttribute の値は bool 型でなければなりません!
知っておく必要があります:「 Convert.ToBoolean()」関数を呼び出さずに、いくつかの XAttributes を使用して XElement を作成し、それを保存して再度読み取り、その XAttributes.Value をブール型変数に割り当てることは可能ですか?!
c# - 別の属性を検索して、同じ要素の別の属性を取得する
これは、私が謝罪するための最も簡単な質問かもしれません. これは私のxmlの一部です。私が取得したいのは、別の属性「ItemOID」に基づく属性「値」です。IE ItemOID="I_MEDIC_HISTORY_INDICATION" の場合、値は何ですか。
これは私のコードです。お分かりのように、私は少し立ち往生しています。
おわかりのように、すべての属性値を常に反復します。ただし、var I_NEURO_NEURO_NORMAL = neuroExamElement.Attribute("Value").Value; が必要です。ItemOID="I_NEURO_NEURO_NORMAL" などの条件を持つ行。したがって、一度に 1 つの属性をデータテーブルに入れることができます。助けてください。ありがとうございました。
linq-to-xml - xmlns="something" - 親ノードにある必要があります
私は問題があります。次のように XAttribute に名前を付けることはできません: XAttribute("xmlns", nss.NamespaceName)
XNamespace ns = "urn:hl7-org:v3"; XNamespace nsVoc = "urn:hl7-org:v3/voc";
. . .
私はここでこの親のうなずきを閉じません..私は最後のうなずきの間に2000行あります
メッセージは次のとおりです: プレフィックス「」は、同じ開始要素タグ内で「」から「urn:hl7-org:v3」に再定義できません。
c# - XAttribute を XElement に追加できません
要素に属性を追加したい。そして、新しく追加された属性が要素の最初の属性になることを望みます。を使用しましたAddFirst()
が、エラーが発生しました。"An attribute cannot be added to content."
理由がわかりません。
以下は私のコードです。
要素の最初の属性として属性を追加できる他の方法はありますか?