确定XML是否包含DOCTYPE

时间:2014-12-03 16:28:35

标签: c# xml vb.net doctype

有没有办法在VB.NET(或C#)中确定XML文件是否具有DOCTYPE元素?

谢谢!

2 个答案:

答案 0 :(得分:4)

来自msdn文档XmlDocument.DocumentType Property

  

获取包含DOCTYPE声明的节点

以上链接中的示例:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" +
            "<book genre='novel' ISBN='1-861001-57-5'>" +
            "<title>Pride And Prejudice</title>" +
            "<style>&h;</style>" +
            "</book>");

// Display the DocumentType.
Console.WriteLine(doc.DocumentType.OuterXml);

答案 1 :(得分:0)

您可以使用XPath。

        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<root>....</root>"); // Or other way to get your XML
        var node = doc.SelectSingleNode("//DOCTYPE");
        if (node != null)
        {
            ... // node.InnerText contains the element text
        }