2015-01-12 2 views
0

안녕하세요 저는 XML을 처음 사용하기 때문에 기본적으로 사용하지 않았습니다. 항상 json을 선호합니다.XML XElement XML 문서 작성

나는 문자열로 변환하고 XML 객체로 변환하는 솔루션을 가지고 있지만 XElement 클래스로 어떻게 할 수 있습니까? ,

 XElement address = 
      new XElement("alias", "TEST", 
      new XElement("request", new XAttribute("type", "AUTH"), 
      new XElement("City", "Mercer Island"), 
      new XElement("State", "WA"), 
      new XElement("Postal", "68042") 
     )); 

그러나 별칭이 모든 요소 후에 닫혀 있기 때문에이 별명에 문제가 :

<?xml version="1.0" encoding="utf-8"?> 
<requestblock version="3.67"> 
    <alias>ALIAS</alias> 
    <request type="AUTH"> 
     <operation> 
      <sitereference>test12345</sitereference> 
      <accounttypedescription>TEST</accounttypedescription> 
      <parenttransactionreference>12-3-4567</parenttransactionreference> 
     </operation> 
     <merchant> 
      <orderreference>Example recurring auth</orderreference> 
     </merchant> 
     <customer> </customer> 
     <billing> 
      <amount currencycode="GBP">1234</amount> 
      <subscription type="TEST"> 
      <number>1</number> 
      </subscription> 
     </billing> 
     <settlement/> 
    </request> 
</requestblock> 

이미이 같은 코드의 일부를 가지고 :

이 문서입니다 같은 표기법이 아님 :

<alias>TEST 
    <request type="AUTH"> 
     <City>Mercer Island</City> 
     <State>WA</State> 
     <Postal>68042</Postal> 
    </request> 
</alias> 

표기대로 문제가 있습니다.

답변

1

루트 요소로 별칭을 설정하고 있습니다 (requestblock이어야 함). 이 같은 requestblock로 시작하는 경우 :

XElement address = 
     new XElement("requestblock", new XAttribute("version",3.67), 
     new XElement("alias", "TEST"), 
     new XElement("request", new XAttribute("type", "AUTH"), 
     new XElement("City", "Mercer Island"), 
     new XElement("State", "WA"), 
     new XElement("Postal", "68042") 

을 It'l 당신에게

<requestblock version="3.67"> 
    <alias>TEST</alias> 
    <request type="AUTH"> 
     <City>Mercer Island</City> 
     <State>WA</State> 
     <Postal>68042</Postal> 
    </request> 
</requestblock> 
을 제공