Aracılığıyla paylaş


XmlReaderSettings.ProhibitDtd Özellik

Tanım

Dikkat

Use XmlReaderSettings.DtdProcessing property instead.

Dikkat

XmlReaderSettings.ProhibitDtd has been deprecated. Use DtdProcessing instead.

Belge türü tanımının (DTD) işlenmesinin yasaklanıp yasaklanmayacağını belirten bir değer alır veya ayarlar. Bu özellik kullanımdan kaldırıldı. Bunun yerine DtdProcessing kullanın.

public:
 property bool ProhibitDtd { bool get(); void set(bool value); };
[System.Obsolete("Use XmlReaderSettings.DtdProcessing property instead.")]
public bool ProhibitDtd { get; set; }
[System.Obsolete("XmlReaderSettings.ProhibitDtd has been deprecated. Use DtdProcessing instead.")]
public bool ProhibitDtd { get; set; }
public bool ProhibitDtd { get; set; }
[<System.Obsolete("Use XmlReaderSettings.DtdProcessing property instead.")>]
member this.ProhibitDtd : bool with get, set
[<System.Obsolete("XmlReaderSettings.ProhibitDtd has been deprecated. Use DtdProcessing instead.")>]
member this.ProhibitDtd : bool with get, set
member this.ProhibitDtd : bool with get, set
Public Property ProhibitDtd As Boolean

Özellik Değeri

Boolean

true DTD işlemeyi yasaklama; aksi takdirde false. Varsayılan değer: true.

Öznitelikler

Örnekler

Aşağıdaki örnek, DTD kullanarak verileri doğrular.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::IO;

// Display any validation errors.
static void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ e )
{
   Console::WriteLine( L"Validation Error: {0}", e->Message );
}

int main()
{
   // Set the validation settings.
   XmlReaderSettings^ settings = gcnew XmlReaderSettings;
   settings->DtdProcessing = DtdProcessing::Parse;
   settings->ValidationType = ValidationType::DTD;
   settings->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );

   // Create the XmlReader object.
   XmlReader^ reader = XmlReader::Create( L"itemDTD.xml", settings );

   // Parse the file. 
   while ( reader->Read() )
      ;

   return 1;
}
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);
  }
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO

public class Sample 

  public shared sub Main() 

    ' Set the validation settings.
    Dim settings as XmlReaderSettings = new XmlReaderSettings()
    settings.DtdProcessing = DtdProcessing.Parse
    settings.ValidationType = ValidationType.DTD
    AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
 
    ' Create the XmlReader object.
    Dim reader as XmlReader = XmlReader.Create("itemDTD.xml", settings)

    ' Parse the file. 
    while reader.Read()
    end while
    
  end sub

  ' Display any validation errors.
  private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs) 
    Console.WriteLine("Validation Error: {0}", e.Message)
  end sub
end class

Örnekte giriş olarak itemDTD.xml dosyası kullanılır.

<!--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>

Açıklamalar

olarak trueayarlandığında, XmlReader herhangi bir DTD içeriğiyle karşılaşıldığında bir XmlException oluşturur. Hizmet Reddi sorunlarıyla ilgileniyorsanız veya güvenilmeyen kaynaklarla ilgileniyorsanız DTD işlemeyi etkinleştirmeyin.

DTD işlemeyi etkinleştirdiyseniz, öğesini kullanarak XmlSecureResolver erişebileceği kaynakları XmlReader kısıtlayabilirsiniz. Ayrıca uygulamanızı, XML işlemenin bellek ve zaman kısıtlaması olacak şekilde tasarlayabilirsiniz. Örneğin, ASP.NET uygulamanızda zaman aşımı sınırlarını yapılandırın.

Bu özellik kullanımdan kaldırıldı. Bunun yerine DtdProcessing kullanın. Varsayılan değerini olarak ayarlamışsanız ProhibitDtd DtdProcessing Prohibit.true olarak ayarlamış ProhibitDtd false DtdProcessing Parseolsaydınız.

Şunlara uygulanır