0

C# で "@" 文字列内に変数を配置する方法があるかどうかを尋ねるためにここにいます。次のコードの id は変更可能です。

        string xml = @"
        <S>
          <child id='1'/>
          <child id='2'>
            <grandchild id='3' />
            <grandchild id='4' />
          </child>
        </S>";
4

4 に答える 4

3

string.Format メソッドを見てください

var result = string.Format(@"<S> 
          <child id='{0}'/> 
          <child id='{1}'> 
            <grandchild id='{2}' /> 
            <grandchild id='{3}' /> 
          </child> 
        </S>", id1, id2, id3, id4);
于 2012-07-03T04:13:07.880 に答える
3

直接ではありませんが (C# には補間機能がありません)、 @-string をstring.Formatorに渡すことができますstring.Concat。(または、マゾヒストの場合Regex.Replace)

于 2012-07-03T04:12:55.757 に答える
2

string.Format() を使用して、実行時に文字列に値を挿入します。詳細については、MSDNを参照してください。

    string xml = string.Format(@"
    <S>
      <child id='{0}'/>
      <child id='{1}'>
        <grandchild id='{2}' />
        <grandchild id='{3}' />
      </child>
    </S>", id1, id2, id3, id4);

ただし、挿入する値がその場所に対して適切にエスケープされていることを確認する必要があるため、これは XML を作成するための推奨される方法ではありませんが、厳密に数値を挿入している限り、これは問題にはなりません。

于 2012-07-03T04:18:33.353 に答える
2

string.Format を使用できます:

string.Format(@"<S>
          <child id='{0}'/>
          <child id='{1}'>
            <grandchild id='3' />
            <grandchild id='4' />
          </child>
        </S>", childId1, childId2);
于 2012-07-03T04:14:24.257 に答える