Freigeben über


XDocumentType.SystemId Eigenschaft

Definition

Ruft den Systembezeichner für die Dokumenttypdefinition (DTD) ab oder legt diesen fest.

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

Eigenschaftswert

String

Ein String, der den Systembezeichner für diese Dokumenttypdefinition (DTD) enthält.

Beispiele

Im folgenden Beispiel wird ein XML-Dokument erstellt, das auf eine externe private DTD verweist. Die DTD verfügt nicht über eine interne Teilmenge. Der Aufruf des XDocumentType Konstruktors spiegelt die Verwendung der externen privaten DTD wider. Es wird für die interne Teilmenge übergeben 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)  

Dieses Beispiel erzeugt die folgende Ausgabe:

SystemId:Pubs.dtd  

Hinweise

Wenn ein XML-Dokument eine externe private DTD verwendet, enthält diese Eigenschaft den privaten Bezeichner der externen DTD.

Gilt für

Siehe auch