📄 sample46.cs
字号:
namespace apiBook
{
using System;
using System.Xml;
using System.IO;
using System.Collections;
public class TestXmlWriterClass
{
public static void Main()
{
XmlTextWriter writer = new XmlTextWriter (Console.Out);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument();
//使用WriteStartDocument方法书写版本为“1.0”的 XML声明
String str="type='text/xsl' href='student.xsl'";
writer.WriteProcessingInstruction("xml-stylesheet", str);
//使用WriteProcessingInstruction方法写出在名称和文本之间带有空格的处理指令
writer.WriteDocType("student", null , null,"<!ENTITY lz 'resource'>");
//使用方法写出具有指定名称和属性的DOCTYPE 声明
writer.WriteComment("学生信息");
//使用WriteComment方法写出包含指定文本的注释 writer.WriteStartElement("school");
//使用WriteStartElement方法写出指定的开始标记 writer.WriteAttributeString("xmlns", "sId", null, "lz:school");
writer.WriteStartElement("student");
string pf = writer.LookupPrefix("lz:school");
//使用LookupPrefix方法获取在当前命名空间范围中离该命名空间 URI 定义的最近的前缀
writer.WriteStartAttribute(pf, "Id", "lz:school");
//使用WriteStartAttribute方法写属性的起始内容
writer.WriteString("1");
writer.WriteEndAttribute();
//使用WriteEndAttribute方法关闭上一个WriteStartAttribute 调用
writer.WriteStartElement("name");
writer.WriteString("Mike");
writer.WriteEndElement();
writer.WriteStartElement("dept");
writer.WriteString("Computer");
writer.WriteCData("主修专业!");
//使用WriteCData方法写出包含指定文本的<![CDATA[...]]> 块
writer.WriteEndElement();
writer.WriteStartElement(pf, "country", "lz:school");
writer.WriteString("China");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("CharEntity");
writer.WriteString("E的字符实体: ");
//使用WriteString方法书写给定的文本内容
writer.WriteCharEntity('E');
//使用WriteCharEntity方法为指定的 Unicode 字符值强制生成字符实体
writer.WriteEndElement();
writer.WriteStartElement("Raw");
writer.WriteString("写出标记:");
writer.WriteRaw("<TestRaw/>");
//使用WriteRaw方法手动书写原始标记
writer.WriteEndElement();
writer.WriteStartElement("bool");
writer.WriteString("写出布尔值:");
writer.WriteString(XmlConvert.ToString(false));
writer.WriteEndElement();
writer.WriteStartElement("date");
writer.WriteString("时间:");
DateTime dt = new DateTime(2003,11, 1 ,12, 0, 30, 500);
writer.WriteString(XmlConvert.ToString(dt));
writer.WriteEndElement();
char [] charA = new char[4];
char lc, hc;
Random random = new Random();
lc = Convert.ToChar(random.Next(0xDC01, 0xDFFF));
hc = Convert.ToChar(random.Next(0xD801, 0xDBFF));
writer.WriteStartElement("char");
charA[0] = 'A';
charA[1] = 'B';
charA[2] = 'C';
charA[3] = hc;
try
{
writer. WriteChars(charA, 0, charA.Length);
//使用WriteChars方法以每次一个缓冲区的方式写入文本。
}
catch (Exception e){}
charA[0] = hc;
charA[1] = lc;
charA[2] = 'D';
writer.WriteChars(charA, 0, 3);
writer.WriteEndElement();
writer.WriteStartElement("EntityRef");
writer.WriteString("EntityRef");
writer.WriteWhitespace(" ");
//使用WriteWhitespace方法写出给定的空白
writer.WriteEntityRef("lz");
//使用WriteEntityRef方法写出实体引用
writer.WriteEndElement();
writer.WriteEndElement();
//使用WriteEndElement方法关闭一个元素并弹出相应的命名空间范围
writer.WriteEndDocument();
//使用WriteEndDocument方法关闭任何打开的元素或属性并将编写器重新设置为 Start 状态
writer.Flush();
//使用Flush方法将缓冲区中的所有内容刷新到基础流,并同时刷新基础流
writer.Close();
//使用Close方法关闭此流和基础流
Console.ReadLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -