본문 바로가기
Programming/C#

[C#] Xml 데이터 파라미터 사용법 및 넣기 ( 초간단 )

by 타임박스 2019. 9. 25.
반응형


✔ string.Format을 이용한 Xml 데이터에 파라미터 넣기 및 출력



Xml 데이터에 사용자가 설정한 데이터를 넣고싶다면?!

여러가지 방법중에서 제가 가장 편하게 생각하는 방법입니다.

<Root>  
  <TaxRate>7.25</TaxRate>  
  <Data>  
    <Category>A</Category>  
    <Quantity>3</Quantity>  
    <Price>24.50</Price>  
  </Data>    
 </Root>

예를 들어 위와 같은 Xml 데이터가 있다고 가정합니다.

Category와 Quantity에 A,3값이 아닌 내가 입력한 값을 넣고 싶다!!!!

<Root>  
  <TaxRate>7.25</TaxRate>  
  <Data>  
    <Category>{0}</Category>  
    <Quantity>{1}</Quantity>  
    <Price>24.50</Price>  
  </Data>    
 </Root>

파라미터의 갯수대로 추가하시면 됩니다. 

1개 => {0}, 2개 => {1}, 3개 => {2} ...... n개 => {n-1}

Xml 파일을 수정합니다.

//Root file xml data
string xml = 불러온 xml 데이터;

string [] a = {"B", "TEST"};
string rep = string.Format(xml, a);

Console.WriteLine(rep);

출력결과 :

<Root>  
  <TaxRate>7.25</TaxRate>  
  <Data>  
    <Category>B</Category>  
    <Quantity>TEST</Quantity>  
    <Price>24.50</Price>  
  </Data>    
 </Root>

이렇게 교체된 xml 데이터가 출력됨.

string [] a 처럼 배열이 아닌 각각 값을 넣어도 됩니다.

string.Format(xml, a[0], a[1]);

※주의 :

string.Format("데이터", a) 처럼 배열로 인자를 넘길때 인자(a)의 크기가 "데이터"에 설정된 크기보다 같거나 커야합니다.

예) 데이터 = {0} ,{1} 두개가 들어가 있음 , 인자(a) = {"B","TEST","TEST1"} => 출력됨 ( B와 TEST 두개만 적용됨.  )

    데이터 = {0} ,{1} 두개가 들어가 있음 , 인자(a) = {"B"} => 오류 발생!!!!!

반응형

댓글