2014-12-30 2 views
1

Я хочу, чтобы получить следующий вывод:C# CreateDocumentType для непубличных

<?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? Кроме того, если я заменю «SYSTEM» на null, я получаю набор пустых кавычек. Могу ли я остановить это?

+0

Проверьте ответ и сообщите, помогли ли вы. – mybirthname

ответ

2

Напиши так.

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

Вот MSDN Documentation

publicId

Тип: System.String

Публичный Идентификатор типа документа или нуль. Вы можете указать общедоступный URI, а также системный идентификатор для определения местоположения внешнего подмножества DTD.

+0

Фантастический! Я не могу поверить, что я не пробовал эту комбинацию. Спасибо! – JerseyMike

+0

@JerseyMike Это случается со всеми. Иногда вам просто нужно другое мнение/взгляд. Удачи с вашим проектом :) – mybirthname

Смежные вопросы