C#CreateDocumentType用于非PUBLIC

时间:2014-12-30 14:45:43

标签: c# doctype

我想获得以下输出:

<?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">

所以我的问题是,我可以获得一个结果,其中PUBLIC被SYSTEM取代吗?另外,如果我更换&#34; SYSTEM&#34;使用null,我得到一组空引号。我可以阻止这种情况发生吗?

1 个答案:

答案 0 :(得分:3)

这样写。

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

以下是MSDN Documentation

  

publicId

     

输入:System.String

     

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