System::Xml::XmlTextWriter 类

XmlTextWriter class

表示一个写入器,以快速、非缓存、仅向前的方式生成符合 W3C 可扩展标记语言 (XML) 1.0 和 XML 命名空间推荐的包含 XML 数据的流或文件。

class XmlTextWriter : public System::Xml::XmlWriter

方法

方法描述
Close() override关闭此流以及底层流。
Flush() override将缓冲区中的内容刷新到底层流,并同时刷新底层流。
get_BaseStream()返回底层流对象。
get_Formatting()指示输出的格式方式。
get_Indentation()返回在层次结构的每个级别要写入的 IndentChars 数量,当 XmlTextWriter::set_Formatting 设置为 Formatting::Indented 时。
get_IndentChar()返回在层次结构缩进时使用的字符,当 XmlTextWriter::set_Formatting 设置为 Formatting::Indented 时。
get_Namespaces()返回一个值,指示是否启用命名空间支持。
get_QuoteChar()返回用于引用属性值的字符。
get_WriteState() override返回写入器的状态。
get_XmlLang() override返回当前的 xml:lang 范围。
get_XmlSpace() override返回一个表示当前 xml:space 范围的 XmlSpace
LookupPrefix(String) override返回在当前命名空间范围内为该命名空间 URI 定义的最近前缀。
set_Formatting(System::Xml::Formatting)指示输出的格式方式。
set_Indentation(int32_t)设置在层次结构的每个级别要写入的 IndentChars 数量,当 XmlTextWriter::set_Formatting 设置为 Formatting::Indented 时。
set_IndentChar(char16_t)设置在层次结构缩进时使用的字符,当 XmlTextWriter::set_Formatting 设置为 Formatting::Indented 时。
set_Namespaces(bool)设置一个值,指示是否启用命名空间支持。
set_QuoteChar(char16_t)设置用于引用属性值的字符。
WriteBase64(ArrayPtr<uint8_t>, int32_t, int32_t) override将指定的二进制字节编码为 base64 并写出生成的文本。
WriteBinHex(ArrayPtr<uint8_t>, int32_t, int32_t) override将指定的二进制字节编码为 binhex 并写出生成的文本。
WriteCData(String) override写出包含指定文本的 块。
WriteCharEntity(char16_t) override强制为指定的 Unicode 字符值生成字符实体。
WriteChars(ArrayPtr<char16_t>, int32_t, int32_t) override一次写入一个缓冲区的文本。
WriteComment(String) override写出包含指定文本的注释 ****。
WriteDocType(const String&, const String&, const String&, const String&) override使用指定的名称和可选属性写出 DOCTYPE 声明。
WriteEndAttribute() override关闭先前的 XmlTextWriter::WriteStartAttribute 调用。
WriteEndDocument() override关闭所有打开的元素或属性,并将写入器恢复到 Start 状态。
WriteEndElement() override关闭一个元素并弹出相应的命名空间范围。
WriteEntityRef(const String&) override将实体引用写为 &name;。
WriteFullEndElement() override关闭一个元素并弹出相应的命名空间范围。
WriteName(const String&) override写出指定的名称,确保它符合 W3C XML 1.0 recommendation 的有效名称规则。
WriteNmToken(const String&) override写出指定的名称,确保它是符合 W3C XML 1.0 recommendation 的有效 NmToken
WriteProcessingInstruction(String, String) override写出一条处理指令,在名称和文本之间留有空格,如下所示:
WriteQualifiedName(const String&, const String&) override写出带命名空间限定的名称。此方法查找给定命名空间范围内的前缀。
WriteRaw(ArrayPtr<char16_t>, int32_t, int32_t) override从字符缓冲区手动写入原始标记。
WriteRaw(const String&) override从字符串手动写入原始标记。
WriteStartAttribute(const String&, const String&, const String&) override写入属性的起始部分。
WriteStartDocument() override写入版本为 "1.0" 的 XML 声明。
WriteStartDocument(bool) override写入版本为 "1.0" 且包含 standalone 属性的 XML 声明。
WriteStartElement(const String&, const String&, const String&) override写入指定的起始标签,并将其与给定的命名空间和前缀关联。
WriteString(const String&) override写入给定的文本内容。
WriteSurrogateCharEntity(char16_t, char16_t) override生成并写入代理字符对的代理字符实体。
WriteWhitespace(String) override写出给定的空白字符。
XmlTextWriter(const SharedPtr<IO::Stream>&, const SharedPtr<Text::Encoding>&)使用指定的流和编码创建 XmlTextWriter 类的实例。
XmlTextWriter(const String&, const SharedPtr<Text::Encoding>&)使用指定的文件创建 XmlTextWriter 类的实例。
XmlTextWriter(const SharedPtr<IO::TextWriter>&)使用指定的 TextWriter 创建 XmlTextWriter 类的实例。

Typedefs

类型定义描述
Ptr此类实例的共享指针别名。

备注

建议改用 XmlWriter 类。

此类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 new 运算符创建此类型的实例,因为这会导致运行时错误和/或断言故障。始终将此类包装到 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。

另见