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 = gcnew 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();
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, dosyayı giriş olarak alır contosoBooks.xml
.
<?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 Nesne geçerli düğüm ve alt düğümleriyle oluşturulduğunda, nesnenin XmlReader ReadState özelliği olarak Initialayarlanır. nesnesinin XmlReader Read yöntemi ilk kez çağrıldığında, XmlReader geçerli düğümüne XPathNavigatortaşınır. Yeni XmlReader nesne, XML ağacının sonuna ulaşılana kadar okumaya devam eder. Bu noktada yöntemi Read döndürür false
ve nesnesinin ReadState XmlReader özelliği olarak EndOfFileayarlanır.
Not
Nesnesinin konumunu değiştirmek XmlReader , 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.
Not
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 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 XmlReader döndüren özel bir XmlResolver uygulayarak bu davranışı değiştirebilirsiniz.