C\#중 XmlTextWriter 읽 기 쓰기 xml 파일 상세 설명
11060 단어 XmlTextWriterxml
방법. 설명 WriteStartDocument "1.0"버 전의 XML 성명 쓰기 WriteEndDocument 열 린 모든 요소 나 속성 닫 기 Close 흐름 닫 기 WriteDocType 지정 한 이름과 선택 가능 한 속성 을 가 진 DOCTYPE 성명 쓰기 StartElement 지정 한 시작 표시 쓰기 WriteEndElement Write FullEndElement 요소 닫 기 하나의 요 소 를 닫 고 끝 표 시 를 항상 기록 합 니 다.WriteElement String 문자열 값 을 포함 하 는 요소 쓰기 StartAttribute 쓰기 속성의 시작 내용 Write EndAttribute 이전 Write Start Attribute 호출 Write Raw 닫 기 원본 태그 수 동 쓰기 WriteString 문자열 쓰기 WriteAttributeString 지정 한 값 의 속성 을 가 진 WriteCData 지정 한 텍스트 를 포함 하 는블록 WriteComment 지정 한 텍스트 를 포함 하 는 주석 을 쓰 십시오WriteWhiteSpace 주어진 공백 쓰기 WriteProcessingInstruction 이름과 텍스트 사이 에 빈 칸 을 가 진 처리 명령 을 쓰 십시오.다음 과 같 습 니 다:
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&C: Renegade</title>
<title>Dr. Seuss's ABC</title>
</items>
위의 코드 는 writer 라 는 XmlTextWriter 대상 을 만 들 었 습 니 다.이 대상 이 생 성 되 었 을 때 titles.xml 라 는 파일 에 연결 되 었 습 니 다.이 어 프로그램 은 items 라 는 루트 속성 을 만 들 었 고 Write StartElement 방법 은 이 속성의 시작 탭 을 만 들 었 습 니 다.이 어 프로그램 은 Write Element String 방법 을 호출 하여 세 개의 키 요 소 를 만 들 었 습 니 다.위의 코드 에서 볼 수 있 듯 이 이 방법 은 첫 번 째 매개 변수(위의 프로그램 에서 title)를 요소 의 태그 로 사용 합 니 다.두 번 째 매개 변 수 를 원소 의 값 으로 사용 합 니 다.모든 요 소 를 추가 한 후에 루트 요 소 를 닫 아야 합 니 다.이 때 Write EndElement 방법 으로 최근 에 열 린 요 소 를 닫 을 수 있 습 니 다.이 예 에서 최근 에 열 린 요 소 는 루트 요소 입 니 다.모든 데 이 터 를 다 썼 고 루트 요소 도 닫 혔 을 때 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("
");
//
writer.WriteRaw("<item>" +
"<title>BloodWake</title>" +
"<format>XBox</format>" +
"</item>");
//
writer.WriteRaw("
<item>
" +
" <title>Unreal Tournament 2003</title>
" +
" <format>CD</format>
" +
" </item>
");
//
writer.WriteFullEndElement();
// XML writer
writer.Close();
}
}
위의 코드 컴 파일 이 실 행 된 후 my Media.xml 파일 을 얻 을 수 있 습 니 다.파일 의 내용 은:
<items>
<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 클래스 도 쉽게 사용 할 수 있 습 니 다.
2)저 는 아주 어 리 석 은 방법 을 사용 하지만 초보 자 들 이 XML 노드 를 방문 하 는 과정 을 이해 하 는 데 도움 을 줄 수 있 습 니 다.XML 파일(bookstore.xml)이 다음 과 같이 알려 져 있 습 니 다.
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
</bookstore>
1.
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");// <bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");// <book>
xe1.SetAttribute("genre"," ");// genre
xe1.SetAttribute("ISBN","2-3631-4");// ISBN
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS ";//
xe1.AppendChild(xesub1);// <book>
XmlElement xesub2=xmlDoc.CreateElement("author");
xesub2.InnerText=" ";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);// <bookstore>
xmlDoc.Save("bookstore.xml");
결 과 는:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre=" " ISBN="2-3631-4">
<title>CS </title>
<author> </author>
<price>58.3</price>
</book>
</bookstore>
2.노드 수정:genre 속성 값 을'이 찬 홍'노드 의 genre 값 을'update 이 찬 홍'으로 바 꾸 고 이 노드 의 하위 노드
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;// bookstore
foreach(XmlNode xn in nodeList)//
{
XmlElement xe=(XmlElement)xn;// XmlElement
if(xe.GetAttribute("genre")==" ")// genre “ ”
{
xe.SetAttribute("genre","update ");// “update ”
XmlNodeList nls=xe.ChildNodes;// xe
foreach(XmlNode xn1 in nls)//
{
XmlElement xe2=(XmlElement)xn1;//
if(xe2.Name=="author")//
{
xe2.InnerText=" ";//
break;//
}
}
break;
}
}
xmlDoc.Save("bookstore.xml");// 。
마지막 결 과 는:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="update " ISBN="2-3631-4">
<title>CS </title>
<author> </author>
<price>58.3</price>
</book>
</bookstore>
3.
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");// genre
}
else if(xe.GetAttribute("genre")=="update ")
{
xe.RemoveAll();//
}
}
xmlDoc.Save("bookstore.xml");
마지막 결 과 는:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>
4.모든 데 이 터 를 표시 합 니 다.
XmlNode xn=xmlDoc.SelectSingleNode("bookstore");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);//
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C\#중 XmlTextWriter 읽 기 쓰기 xml 파일 상세 설명위의 코드 는 writer 라 는 XmlTextWriter 대상 을 만 들 었 습 니 다.이 대상 이 생 성 되 었 을 때 titles.xml 라 는 파일 에 연결 되 었 습 니 다.이 어 프로그램 은 items 라...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.