C# CreateDocumentType for non-PUBLIC

本文关键字:non-PUBLIC for CreateDocumentType | 更新日期: 2023-09-27 18:35:49

我想得到以下输出:

<?xml version="1.0" encoding="Windows-1252"?>
<!DOCTYPE SUPRMRT SYSTEM "suprmrt.dtd">

我有以下代码:

XmlDocument doc = new XmlDocument();
XmlDocumentType docType = doc.CreateDocumentType("SUPRMRT", "SYSTEM", "suprmrt.dtd", null);
doc.AppendChild(docType);
doc.Save(Console.out);

这会产生:

<?xml version="1.0" encoding="Windows-1252"?>
<!DOCTYPE SUPRMRT PUBLIC "SYSTEM" "suprmrt.dtd">

所以我的问题是我能得到一个公共被系统取代的结果吗? 另外,如果我将"SYSTEM"替换为null,我会得到一组空引号。 我能阻止这种情况发生吗?

C# CreateDocumentType for non-PUBLIC

这样写。

XmlDocumentType docType = doc.CreateDocumentType("SUPRMRT", null, "suprmrt.dtd", null);

这是 MSDN 文档

公共标识

类型:系统字符串

文档类型的公共标识符或 null。您可以指定一个 公共 URI 以及用于标识 外部 DTD 子集。