C\#에서 XmlWriter 를 기반 으로 Xml 에 대한 심도 있 는 분석

4463 단어 c#XmlWriterXml
XmlWriter 의 인 스 턴 스 변 수 를 만 들 었 다 고 가정 합 니 다 xmlWriter,다음 글 에 서 는 이 인 스 턴 스 변 수 를 사용 하여 Xml 1 을 쓸 것 입 니 다.XmlWriter 를 사용 하여 Xml 문서 성명

// WriteStartDocument bool ( standalone, ) standalone
xmlWriter.WriteStartDocument(false|true);
을 쓰 는 방법 은 WriteStartDocument 방법 을 사용 한 후 xml Write.WriteEndDocument()방법 으로 탭 을 닫 지 않 을 수 있 는 모든 방법 을 사용 하 는 것 이 좋 습 니 다.2.XmlWriter 를 사용 하여 xml 노드 와 속성

//
xmlWriter.WriteStartElement("cat");
//
xmlWriter.WriteAttributeString("color", "white");
//
xmlWriter.WriteString("I'm a cat");
xmlWriter.WriteEndElement();
을 쓰 거나 WriteElement String(string)을 사용 하 는 방법 입 니 다.string)방법 은 xml 노드 를 작성 하 는 동시에 노드 값 을 적 습 니 다.다음 과 같 습 니 다.

// WriteElementString
xmlWriter.WriteElementString("pig", "pig is great");
3.CData

xmlWriter.WriteStartElement("dog");
// CData
xmlWriter.WriteCData("<strong>dog is dog</strong>");
xmlWriter.WriteEndElement();
를 어떻게 쓰 는 지 4.XmlWriter 를 사용 하여 주석 추가

xmlWriter.WriteComment("this is an example writed by https://www.jb51.net ");
5.XmlWriter 의 출력 형식 을 어떻게 설정 하 는 지,출력 UTF-16 문 제 를 해결 하 는 xml 출력 형식 을 설정 하 는 지,XmlWriter Settings 류 를 통 해 다음 코드

XmlWriterSettings settings = new XmlWriterSettings();
//
settings.Indent = true;
// encoding utf-16
// Encoding.UTF8 Encoding.UTF8 4 xml
settings.Encoding = new UTF8Encoding(false);

//
settings.NewLineChars = Environment.NewLine;
의 완전한 코드 예 시 는 다음 과 같 습 니 다.

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Xml;

namespace UseXmlWriter
{
    class Program
    {
        static void Main(string[] args)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                //
                settings.Indent = true;
                // encoding utf-16
                // Encoding.UTF8 Encoding.UTF8 4 xml
                settings.Encoding = new UTF8Encoding(false);

                //
                settings.NewLineChars = Environment.NewLine;

                using (XmlWriter xmlWriter = XmlWriter.Create(ms, settings))
                {

                    // xml <?xml version="1.0" encoding="utf-8" ?>
                    xmlWriter.WriteStartDocument(false);
                    //
                    xmlWriter.WriteStartElement("root");
                    //
                    xmlWriter.WriteStartElement("cat");
                    //
                    xmlWriter.WriteAttributeString("color", "white");
                    //
                    xmlWriter.WriteString("I'm a cat");
                    xmlWriter.WriteEndElement();

 
                    // WriteElementString
                    xmlWriter.WriteElementString("pig", "pig is great");

 
                    xmlWriter.WriteStartElement("dog");
                    // CData
                    xmlWriter.WriteCData("<strong>dog is dog</strong>");
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteComment("this is an example writed by  https://www.jb51.net ");

                    xmlWriter.WriteEndElement();
                    xmlWriter.WriteEndDocument();

                }

                // xml
                string xml = Encoding.UTF8.GetString(ms.ToArray());
                Console.WriteLine(xml);
            }
            Console.Read();

        }
    }
}

좋은 웹페이지 즐겨찾기