> 백엔드 개발 > C++ > 본문

Newtonsoft.json을 사용하여 XML을 Json으로 변환하고 Json을 다시 XML로 변환하는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-09-12 19:01:06
앞으로
1019명이 탐색했습니다.

如何使用 Newtonsoft.json 将 XML 转换为 Json 以及将 Json 转换回 XML?

Json.NET은 XmlNodeConverter를 사용하여 JSON을 XML로 변환하거나 그 반대로 변환하는 것을 지원합니다.

요소, 속성, 텍스트, 주석, 문자 데이터, 처리 지침, 네임스페이스 및 XML 선언은 변환 시 둘 사이에 유지됩니다.

SerializeXmlNode

JsonConvert에는 JSON과 XML 변환 간 변환을 위한 두 가지 도우미 메서드가 있습니다. 첫 번째는 SerializeXmlNode()입니다. 이 메서드는 XmlNode를 가져와 JSON 텍스트로 직렬화합니다.

DeserializeXmlNode

JsonConvert의 두 번째 도우미 메서드는 DeserializeXmlNode()입니다. 이 메서드는 JSON 텍스트를 가져와 XmlNode로 역직렬화합니다.

예제 1

static void Main(string[] args) {
   string xml = @"Alanhttp://www.google1.com Admin1";
   XmlDocument doc = new XmlDocument();
   doc.LoadXml(xml);
   string json = JsonConvert.SerializeXmlNode(doc);
   Console.WriteLine(json);
   Console.ReadLine();
}
로그인 후 복사

Output

{"person":{"@id":"1","name":"Alan","url":"http://www.google1.com","role":"Admin1"}}
로그인 후 복사

예제 2

static void Main(string[] args) {
   string json = @"{
      '?xml': {
         '@version': '1.0',
         '@standalone': 'no'
      },
      'root': {
         'person': [
            {
            '@id': '1',
            'name': 'Alan',
            'url': 'http://www.google1.com'
            },
            {
            '@id': '2',
            'name': 'Louis',
            'url': 'http://www.yahoo1.com'
            }
         ]
      }
   }";
   XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
   Console.WriteLine(json);
   Console.ReadLine();
}
로그인 후 복사

Output

'?xml': {
   '@version': '1.0',
   '@standalone': 'no'
},
'root': {
   'person': [
      {
      '@id': '1',
      'name': 'Alan',
      'url': 'http://www.google1.com'
      },
      {
      '@id': '2',
      'name': 'Louis',
      'url': 'http://www.yahoo1.com'
      }
   ]
}
로그인 후 복사

위 내용은 Newtonsoft.json을 사용하여 XML을 Json으로 변환하고 Json을 다시 XML로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿