집 >백엔드 개발 >XML/RSS 튜토리얼 >XmlWriter를 사용하여 Xml을 작성하기 위한 샘플 코드에 대한 자세한 소개
XmlWriter의 인스턴스 변수 xmlWriter가 생성되었다고 가정합니다.
1. XmlWriter를 사용하여 Xml 문서 선언을 작성하는 방법
// WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值 xmlWriter.WriteStartDocument(false|true);
WriteStartDocument 메서드를 사용한 후에는 xmlWrite.WriteEndDocument() 메서드를 호출하여 닫히지 않은 가능한 모든 태그를 닫는 것이 가장 좋습니다
2. XmlWriter를 사용하여 xml 노드 및 속성을 작성하는 방법
//写节点 xmlWriter.WriteStartElement("cat"); //给节点添加属性 xmlWriter.WriteAttributeString("color", "white"); //给节点内部添加文本 xmlWriter.WriteString("I'm a cat"); xmlWriter.WriteEndElement();
또는 WriteElementString(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 玉开技术博客 http://www.php.cn/ ");
5. UTF-16 출력 문제 해결
xml 출력 형식 설정, XmlWriterSettings 클래스, 다음 코드
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;
를 전달해야 합니다.
전체 코드 예는 다음과 같습니다.
/*玉开技术博客 http://www.php.cn/ */ 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文件开始 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("dog is dog"); xmlWriter.WriteEndElement(); xmlWriter.WriteComment("this is an example writed by 玉开技术博客 http://www.php.cn/ "); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } //将xml内容输出到控制台中 string xml = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine(xml); } Console.Read(); } } }
위 내용은 XmlWriter를 사용하여 Xml을 작성하기 위한 샘플 코드에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!