C# 确定XML是否包含DOCTYPE

C# 确定XML是否包含DOCTYPE,c#,xml,vb.net,doctype,C#,Xml,Vb.net,Doctype,在VB.NET(或C#)中,有没有办法确定XML文件是否有DOCTYPE元素 谢谢 来自msdn文档: 获取包含DOCTYPE声明的节点 来自上面链接的示例: XmlDocument doc = new XmlDocument(); doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" + "<book genre='novel' ISBN='1-861001-57-5'>" +

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

谢谢

来自msdn文档:

获取包含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);
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“”)+
"" +
《傲慢与偏见》+
“&h;”+
"");
//显示文档类型。
Console.WriteLine(doc.DocumentType.OuterXml);
来自msdn文档:

获取包含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);
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“”)+
"" +
《傲慢与偏见》+
“&h;”+
"");
//显示文档类型。
Console.WriteLine(doc.DocumentType.OuterXml);
您可以使用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
        }
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“…”);//或者以其他方式获取XML
var node=doc.SelectSingleNode(//DOCTYPE”);
如果(节点!=null)
{
…//node.InnerText包含元素文本
}
您可以使用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
        }
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“…”);//或者以其他方式获取XML
var node=doc.SelectSingleNode(//DOCTYPE”);
如果(节点!=null)
{
…//node.InnerText包含元素文本
}

DOCTYPE是用于HTML的吗?不,我说的是XML。为什么不显示
XML
的结构?这可能会限制任何混淆和/或假设我的XML没有任何结构。现在还没有XML—我只需要知道传入的任何XML是否包含DOCTYPE!DOCTYPE是用于HTML的?不,我说的是XML。为什么不显示
XML
的结构?这可能会限制任何混淆和/或假设我的XML没有任何结构。现在还没有XML—我只需要知道传入的任何XML是否包含DOCTYPE!谢谢,但我不会硬编码的东西,只是需要寻找!DOCTYPE后跟who knows what.@user2726536-不确定您的注释是什么意思-
DocumentType
返回
的内容在LoadXML函数中给出的示例中,有一大堆硬编码的内容。不清楚为什么看不到。XmlDocument类具有加载文档的方法。本例使用字符串加载xml,因为您没有提供可使用的代码示例。您可以使用Load并将uri传递给要加载的文件。谢谢,但我不会硬编码的东西,只是需要寻找!DOCTYPE后跟who knows what.@user2726536-不确定您的注释是什么意思-
DocumentType
返回
的内容在LoadXML函数中给出的示例中,有一大堆硬编码的内容。不清楚为什么看不到。XmlDocument类具有加载文档的方法。本例使用字符串加载xml,因为您没有提供可使用的代码示例。您可以使用Load并将uri传递给要加载的文件。