XDocumentType.SystemId 属性

定义

获取或设置此文档类型定义(DTD)的系统标识符。

public:
 property System::String ^ SystemId { System::String ^ get(); void set(System::String ^ value); };
public string SystemId { get; set; }
public string? SystemId { get; set; }
member this.SystemId : string with get, set
Public Property SystemId As String

属性值

包含此文档类型定义(DTD)的系统标识符的 A String

示例

以下示例创建一个引用外部专用 DTD 的 XML 文档。 DTD 没有内部子集。 对构造函数的调用 XDocumentType 反映了外部专用 DTD 的使用。 它传递 null 内部子集。

string pubsDtd =
@"<!ELEMENT Pubs (Book+)>
<!ELEMENT Book (Title, Author)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Author (#PCDATA)>";
File.WriteAllText("Pubs.dtd", pubsDtd);

string target = "xml-stylesheet";
string data = "href=\"mystyle.css\" title=\"Compact\" type=\"text/css\"";

XDocument doc = new XDocument(
    new XDocumentType("Pubs", null, "Pubs.dtd", null),
    new XElement("Pubs",
        new XElement("Book",
            new XElement("Title", "Artifacts of Roman Civilization"),
            new XElement("Author", "Moreno, Jordao")
        ),
        new XElement("Book",
            new XElement("Title", "Midieval Tools and Implements"),
            new XElement("Author", "Gazit, Inbar")
        )
    ),
    new XComment("This is another comment.")
);
doc.Declaration = new XDeclaration("1.0", "utf-8", "true");
doc.Save("Pubs.xml");

// Validate Pubs.xml against Pubs.dtd.
XmlReaderSettings xrs = new XmlReaderSettings();
xrs.ProhibitDtd = false;
xrs.ValidationType = ValidationType.DTD;
xrs.ConformanceLevel = ConformanceLevel.Auto;
XmlReader xr = XmlReader.Create("Pubs.xml", xrs);
XDocument doc2 = XDocument.Load(xr);

XDocumentType dt = doc2.Document.DocumentType;
Console.WriteLine("SystemId:{0}", dt.SystemId);
Dim pubsDtd As String = _
    "<!ELEMENT Pubs (Book+)>" & Environment.NewLine & _
    "<!ELEMENT Book (Title, Author)>" & Environment.NewLine & _
    "<!ELEMENT Title (#PCDATA)>" & Environment.NewLine & _
    "<!ELEMENT Author (#PCDATA)>"
File.WriteAllText("Pubs.dtd", pubsDtd)

Dim target As String = "xml-stylesheet"
Dim data As String = "href='mystyle.css' title='Compact' type='text/css'"

Dim doc As XDocument = _
    <?xml version='1.0'?>
    <Pubs>
        <Book>
            <Title>Artifacts of Roman Civilization</Title>
            <Author>Moreno, Jordao</Author>
        </Book>
        <Book>
            <Title>Midieval Tools and Implements</Title>
            <Author>Gazit, Inbar</Author>
        </Book>
    </Pubs>
    <!--This is another comment.-->

doc _
.FirstNode _
.AddBeforeSelf(New XDocumentType("Pubs", Nothing, "Pubs.dtd", Nothing))

doc.Declaration = New XDeclaration("1.0", "utf-8", "true")
doc.Save("Pubs.xml")

' Validate Pubs.xml against Pubs.dtd.
Dim xrs As XmlReaderSettings = New XmlReaderSettings()
xrs.ProhibitDtd = False
xrs.ValidationType = ValidationType.DTD
xrs.ConformanceLevel = ConformanceLevel.Auto
Dim xr As XmlReader = XmlReader.Create("Pubs.xml", xrs)
Dim doc2 As XDocument = XDocument.Load(xr)

Dim dt As XDocumentType = doc2.Document.DocumentType
Console.WriteLine("SystemId:{0}", dt.SystemId)

此示例生成以下输出:

SystemId:Pubs.dtd

注解

如果 XML 文档使用外部专用 DTD,则此属性将包含外部 DTD 的专用标识符。

适用于

另请参阅