XPathNavigator.ReadSubtree Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli düğümü ve alt düğümlerini içeren bir XmlReader nesne döndürür.
public:
virtual System::Xml::XmlReader ^ ReadSubtree();
public virtual System.Xml.XmlReader ReadSubtree();
abstract member ReadSubtree : unit -> System.Xml.XmlReader
override this.ReadSubtree : unit -> System.Xml.XmlReader
Public Overridable Function ReadSubtree () As XmlReader
Döndürülenler
XmlReader Geçerli düğümü ve alt düğümlerini içeren bir nesne.
Özel durumlar
XPathNavigator bir öğe düğümünde veya kök düğümde konumlandırılmaz.
Örnekler
Aşağıdaki örnekte, dosyasının ReadSubtree ilk book öğesinde yönteminin kullanılması gösterilmektedir contosoBooks.xml .
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
XmlReader reader = navigator.ReadSubtree();
while (reader.Read())
{
Console.WriteLine(reader.ReadInnerXml());
}
reader.Close();
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
Dim reader As XmlReader = navigator.ReadSubtree()
While reader.Read()
Console.WriteLine(reader.ReadInnerXml())
End While
reader.Close()
Örnek, contosoBooks.xml dosyasını giriş olarak alır.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Açıklamalar
XmlReader nesnesi geçerli düğüm ve alt düğümleriyle oluşturulduğunda, XmlReader nesnesinin ReadState özelliği Initial olarak ayarlanır. İlk kez XmlReader nesnesinin Read yöntemi çağrıldığında, XmlReaderXPathNavigator'ün geçerli düğümüne taşınır. Yeni XmlReader nesne, XML ağacının sonuna ulaşılana kadar okumaya devam eder. Bu noktada Read yöntemi false döndürür ve XmlReader nesnesinin ReadState özelliği EndOfFile olarak ayarlanır.
Uyarı
Nesnenin XmlReader konumunun değiştirilmesi, konumunu XPathNavigatoretkilemez.
Geçerli düğümün kapsam içi ad alanları için ad alanı bildirimleri, nesneye sağlanan XML akışına XmlReader eklenmez.
Uyarı
Bu davranış yönteminden WriteSubtree farklıdır.
Bu yöntem, nesneyi belirli okuyucu ayarlarıyla oluşturur XmlReader ve bu yöntemi kullanan modülün bu ayarlar üzerinde hiçbir denetimi yoktur. Örneğin, bu yöntem tarafından döndürülen okuyucu Veri Türü Tanımlarının (DTD) işlenmesini yasaklar. Okuyucu DTD kullanan bir dosyayı okumayı denerse, bir hata oluşturur. XmlException Özel durum iletisi olacaktır Unexpected DTD declaration.
İstenen XmlReaderSettingsile bir döndüren XmlReader özel XmlResolver bir uygulayarak bu davranışı değiştirebilirsiniz.