>  기사  >  백엔드 개발  >  .NET에서 XML을 작성하는 간단한 방법

.NET에서 XML을 작성하는 간단한 방법

黄舟
黄舟원래의
2017-03-01 16:59:441372검색

xml은 대중적인 기술입니다. 사람들의 관심을 끄는 가장 큰 이유 중 하나는 매우 간단하고 사람들이 쉽게 이해하고 사용할 수 있다는 점입니다. 모든 프로그래머는 XML 파일을 쉽게 읽고 그 내용을 이해할 수 있습니다.

.NET에는 XML을 지원하는 많은 클래스가 포함되어 있습니다. 이러한 클래스를 통해 프로그래머는 XML 파일을 이해하는 것처럼 쉽게 XML 프로그래밍을 사용할 수 있습니다. 이 기사에서는 이러한 클래스의 사용 예를 제공할 것입니다. 이 클래스는 XmlTextWriter 클래스입니다.

XmlTextWriter 클래스를 사용하면 XML을 파일에 쓸 수 있습니다. 이 클래스에는 XML을 보다 쉽게 ​​처리할 수 있는 다양한 메서드와 속성이 포함되어 있습니다. 이 클래스를 사용하려면 먼저 새 XmlTextWriter 개체를 만든 다음 이 개체에 XML 조각을 추가할 수 있습니다. 이 클래스에는 다양한 유형의 XML 요소를 XML 파일에 추가하기 위한 여러 메서드가 포함되어 있습니다. 다음 표에는 이러한 메서드의 이름과 설명이 나와 있습니다.

메서드
설명

WriteStartDocument
쓰기 버전이 "1.0"인 XML 선언

WriteEndDocument
열려 있는 요소 또는 속성을 모두 닫습니다

Close
스트림을 닫습니다

WriteDocType
DOCTYPE을 작성합니다. 지정된 이름과 선택적 특성이 있는 선언

WriteStartElement
지정된 시작 태그를 씁니다.

WriteEndElement
요소를 닫습니다.

WriteFullEndElement
요소를 닫고 항상 완전한 종료 태그를 씁니다.

WriteElementString
문자열 값을 포함하는 요소를 씁니다.

WriteStartAttribute
쓰기 속성

WriteEndAttribute
의 시작 콘텐츠 이전 WriteStartAttribute 호출 닫기

WriteRaw
원본 태그 수동 쓰기

WriteString
문자열 쓰기

WriteAttributeString
지정된 값의 속성을 출력합니다.

WriteCData
지정된 텍스트가 포함된 c5f72ca7ba871dfc011af2443240fe97 블록을 작성합니다.

WriteComment
지정된 텍스트가 포함된 주석을 작성합니다2e39569ba88e3d534c229fffb5547207

WriteWhiteSpace
주어진 공백을 씁니다

WritePROcessingInstruction
아래와 같이 이름과 텍스트 사이에 공백이 있는 처리 명령을 씁니다. 6f57f36133d5a50e4113dca686520f4e

XML에 대해 잘 알고 계시다면 위의 방법들을 잘 이해하실 수 있을 것입니다. 아래에서는 예를 들어 보겠습니다. 이 예에서는 먼저 문서를 만들고 일부 요소를 추가한 다음 문서를 닫습니다. 요소를 추가한 후 하위 요소, 속성 및 기타 콘텐츠를 추가할 수도 있습니다. 다음 코드는 title이라는 XML 파일을 생성하는 예입니다.

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("titles.xml", null);
     //写入根元素
     writer.WriteStartElement("items");
     //加入子元素
     writer.WriteElementString("title", "Unreal Tournament 2003");
     writer.WriteElementString("title", "C&C: Renegade");
     writer.WriteElementString("title", "Dr. Seuss's ABC");
     //关闭根元素,并书写结束标签
     writer.WriteEndElement();
     //将XML写入文件并且关闭XmlTextWriter
     writer.Close();  
  }
}

위 코드를 컴파일하고 실행하면 다음 내용이 포함된 XML 파일이 생성됩니다.

<items>
    <title>Unreal Tournament 2003</title>
    <title>C&amp;C: Renegade</title>
    <title>Dr. Seuss&#39;s ABC</title>
</items>

위 코드는 작성기 개체라는 이름의 XmlTextWriter를 생성합니다. 이 개체가 생성되면 titles.xml이라는 파일과 연결됩니다. 다음으로 프로그램은 items라는 루트 속성을 생성하고 WriteStartElement 메서드는 이 속성에 대한 시작 태그를 생성합니다. 다음으로 프로그램은 WriteElementString 메서드를 호출하여 세 개의 자식 요소를 만듭니다. 또한 위 코드에서 이 메소드가 첫 번째 매개변수(위 프로그램의 제목)를 요소의 레이블로 사용하고 두 번째 매개변수를 요소의 값으로 사용한다는 것을 알 수 있습니다. 모든 요소를 ​​추가한 후에는 루트 요소를 닫아야 합니다. 이때 WriteEndElement 메서드를 호출하여 이 예제에서는 가장 최근에 열린 요소를 닫을 수 있습니다. 가장 최근에 열린 요소는 루트 요소입니다. 모든 데이터가 기록되고 루트 요소가 닫히면 해당 정보를 XmlTextWriter에 전달할 수 있습니다. 즉, 지금은 Close 메서드를 호출하여 닫을 수 있습니다.

위의 코드는 비교적 간단합니다. XmlTextWriter 클래스에서 더 많은 메서드를 사용하고 더 완전한 기능을 갖는 예를 살펴보겠습니다.

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);
     //使用自动缩进便于阅读
     writer.Formatting = Formatting.Indented;
     //书写根元素
     writer.WriteStartElement("items");
     //开始一个元素
     writer.WriteStartElement("item");
     //向先前创建的元素中添加一个属性
     writer.WriteAttributeString("rating", "R");
     //添加子元素
     writer.WriteElementString("title", "The Matrix");
     writer.WriteElementString("format", "DVD");
     //关闭item元素
     writer.WriteEndElement();  // 关闭元素
     //在节点间添加一些空格
     writer.WriteWhitespace("\n");
     //使用原始字符串书写第二个元素
     writer.WriteRaw("<item>" + 
                     "<title>BloodWake</title>" +
                     "<format>XBox</format>" + 
                     "</item>");
     //使用格式化的字符串书写第三个元素
     writer.WriteRaw("\n  <item>\n" +
                     "    <title>Unreal Tournament 2003</title>\n" +
                     "    <format>CD</format>\n" + 
                     "  </item>\n");
     // 关闭根元素
     writer.WriteFullEndElement();
     //将XML写入文件并关闭writer
     writer.Close();
  }
}

위 코드를 컴파일하고 실행하면 myMedia.xml 파일이 생성됩니다. 파일 내용은 다음과 같습니다. 30c1fd7029f16c005a4b9562cd8dae34

<item rating="R">
    <title>The Matrix</title>
    <format>DVD</format>
  </item>
<item>
    <title>BloodWake</title>
    <format>XBox</format>
</item>
  <item>
    <title>Unreal Tournament 2003</title>
    <format>CD</format>
  </item>
</items>

위의 설명은 다음과 같습니다. 코드는 이 프로그램의 기능이 그것을 달성하는 방법임을 나타냅니다. 한 가지 기억해야 할 점은 작업을 시작하기 위해 메서드를 호출할 때 작업을 종료하려면 프로그램의 적절한 위치에서 메서드를 호출해야 한다는 것입니다. 예를 들어 StartElement를 호출하는 경우 EndElement를 호출하여 요소를 닫아야 합니다. 물론 이 두 호출 사이에 하위 요소를 추가할 수도 있습니다. EndElement 메서드를 호출할 때마다 항상 StartElement 메서드를 사용하여 가장 최근에 연 요소를 닫습니다. 이는 스택 작동 방식과 매우 유사합니다.

XmlTextWriter를 사용하는 것은 매우 쉽지만, 이러한 코드와 방법을 직접 사용해 보시기를 권장합니다. 일단 시도해 보면 코드가 프로그램에 쉽게 통합될 수 있다는 것을 알게 될 것입니다. XmlTextWriter는 .NET에서 제공하는 많은 XML 클래스 중 하나일 뿐이라는 점도 기억해야 합니다. XmlTextWriter와 마찬가지로 다른 XML 클래스도 사용하기 매우 쉽습니다

위 내용은 .NET에서 XML을 작성하는 간단한 방법에 대한 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.