Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
XmlReaderSettings.ProhibitDtd-Eigenschaft
Hinweis: Diese API ist mittlerweile veraltet.
Ruft einen Wert ab, der angibt, ob eine DTD-Verarbeitung (Document Type Definition, Dokumenttypdefinition) verhindert werden soll, oder legt diesen fest. Diese Eigenschaft ist veraltet. Verwenden Sie stattdessen DtdProcessing.
Assembly: System.Xml (in System.Xml.dll)
Wenn er auf den Wert true festgelegt ist, löst der XmlReader eine XmlException aus, wenn DTD-Inhalt vorgefunden wird. Aktivieren Sie die DTD-Verarbeitung nur, wenn Sie keine Bedenken hinsichtlich der Gefahr von Denial-of-Service-Angriffen haben oder vertrauenswürdige Quellen verwenden.
Bei aktivierter DTD-Verarbeitung können Sie mithilfe des XmlSecureResolver die Ressourcen beschränken, auf die der XmlReader zugreifen kann. Sie können die Anwendung auch so entwerfen, dass die XML-Verarbeitung bezüglich Arbeitsspeicher und Zeit eingeschränkt wird. Konfigurieren Sie z. B. Timeoutbeschränkungen in der ASP.NET-Anwendung.
Diese Eigenschaft ist veraltet. Verwenden Sie stattdessen DtdProcessing. Wenn Sie ProhibitDtd auf den Standardwert true festgelegt haben, legen Sie DtdProcessing auf Prohibit fest. Wenn Sie ProhibitDtd auf false festgelegt haben, legen Sie DtdProcessing auf Parse fest.
Im folgenden Beispiel werden Daten mit einer DTD überprüft.
using System; using System.Xml; using System.Xml.Schema; using System.IO; public class Sample { public static void Main() { // Set the validation settings. XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdProcessing = DtdProcessing.Parse; settings.ValidationType = ValidationType.DTD; settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create("itemDTD.xml", settings); // Parse the file. while (reader.Read()); } // Display any validation errors. private static void ValidationCallBack(object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.Message); } }
Im Beispiel wird die Datei itemDTD.xml als Eingabe verwendet.
<!--XML file using a DTD-->
<!DOCTYPE store [
<!ELEMENT store (item)*>
<!ELEMENT item (name,dept,price)>
<!ATTLIST item type CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>]>
<store>
<item type="supplies" ISBN="2-3631-4">
<name>paint</name>
<price>16.95</price>
</item>
</store>
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.