Makale numarası: 307941 - Son Gözden Geçirme: 27 Ekim 2002 Pazar - Gözden geçirme: 1.1

NASıL YAPıLıR: Windows için Visual Basic MSXML DOM program için bu ms:type - yerel - adını XPath uzantı işlevi kullanın.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu adım adım makalede, MSXML 4.0 belge nesne modeli (DOM) Visual Basic programı için ms:type - yerel - ad XPath uzantı işlevi kullanmayı açıklamaktadır.

XPath uzantı işlevi ms:type - yerel - adı'nın açıklaması

MSXML 4.0 XPath uygulamasında düğümlerin kendi veri türüne göre XML belgesinde değerlendirmek ifadeler belirtebilirsiniz XSD Uzantı işlevleri kümesi sunmaktadır. Ms:type - yerel - ad XPath uzantı işlevi, nitelikli olmayan ilişkili bir XSD şemada tanımlanan bir düğümün veri türü adını dönebilirsiniz.

Döndürülecek nonqualified adı, veri türü olan düğüm ms:type - yerel - ad XPath uzantı işlevi giriş bağımsız değişken olarak geçirilir. Bu makaledeki kod örneğinde, ms:type - yerel - ad XPath işlevi, her düğümün nonqualified veri türü adı bir defada bir DOM ağacına olarak yürütülmesini selectNodes DOM yöntemi tarafından geçiş Books.xml dosyasına geri dönmek için kullanılır. Yetkin olmayan verileri adını yazın, her düğümde AuthorTypeIXMLDOMNodeList arabirime eklenir, DOMDocument nesnesinin selectNodes yöntemini oluşturur ve sayı olarak verir.

Örnek XML belgesi oluşturma

Aşağıdaki XML içeren Books.xml adlı bir XML belgesi oluşturup, Not Defteri'ni kullanın:
<?xml version="1.0"?>
<x:catalog xmlns:x="urn:books" xsi:schemaLocation='urn:books Books.xsd' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>      
   <book>   
      <author>Adams</author>
      <State>NC</State>
      <title>XML Developer's Guide</title>                          
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications with XML.</description>      
   </book>
</x:catalog>
				
Books.xml yapısını tanımlayan Books.xsd adlı bir XSD şeması belgesi başvuruyor.

Örnek XSD belge oluşturma

  1. Aşağıdaki kodu içeren Books.xsd adlı bir XSD şeması belgesi oluşturmak için Not Defteri'ni kullanın:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:books" xmlns:b="urn:books">
    
      <xs:element name="catalog" type="b:CatalogData"/> 
    
      <xs:complexType name="CatalogData">
        <xs:sequence>
          <xs:element name="book" type="b:bookdata" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
    
      <xs:simpleType name="AuthorType">
        <xs:restriction base="xs:string">
          <xs:maxLength value="5"/>
        </xs:restriction>
      </xs:simpleType>
      
    
      <xs:complexType name="bookdata">
        <xs:sequence>
          <xs:element name="author" type="b:AuthorType"/>
          <xs:element name="State" type="xs:string"/>
          <xs:element name="title" type="xs:string"/>
          <xs:element name="genre" type="xs:string"/>
          <xs:element name="price" type="xs:float"/>
          <xs:element name="publish_date" type="xs:date"/>
          <xs:element name="description" type="xs:string"/>      
        </xs:sequence>
    
        <xs:attribute name="id" type="xs:string"/>
    
      </xs:complexType>
    
    </xs:schema>
  2. Books.xsd Books.xml kaydettiğiniz aynı klasöre kaydedin.

Oluşturma ve Visual Basic projesinin sınama

  1. Visual Basic 6. 0'da, yeni bir standart exe DOSYASı) projesi oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Bir proje başvurusu ekleyin Microsoft XML, sürüm 4.0.
  3. Bir komut düğmesi Form1'ın sürükleyin.
  4. Komut düğmesinin Tıklat olay yordamında aşağıdaki kodu yapıştırın ve xmldom.Load deyiminde Books.xml yolunu belirtin:
    Dim xmlschema As MSXML2.XMLSchemaCache40
    
    Dim xmldom As MSXML2.DOMDocument40
    Set xmldom = New MSXML2.DOMDocument40
    
    xmldom.async = False
    xmldom.setProperty "SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'"
    xmldom.Load "<Path to Books.xml>"
    
    Set nlist = xmldom.selectNodes("//*[ms:type-local-name(.)='AuthorType']")
    
    Dim node As MSXML2.IXMLDOMNode
    For Each node In nlist
      Debug.Print node.nodeName
    Next
    ms:type - yerel - ad uzantısı işlevi tüm kullanıcı tanımlı karmaşık AuthorType XSD veri türü, düğümleri tanımlamak için kullandığı bir XPath ifadesi DOMDocument nesne selectNodes yöntemini belirtir.

  5. Kaydetmek ve projeyi çalıştırın.
  6. XPath sorgusu çalıştırmak ve adın veya adların eşleşen düğümlerin görüntülemek için komut düğmesini tıklatın. Books.xml <a1>Yazar</a1> öğesinin AuthorType veri türü olan tek düğümdür. Kodunu çalıştırdığınızda, bu düğüm (sanatçı) adını Visual Basic komut penceresi içinde görüntülenir.

Referanslar

MSXML 4. 0'da uygulanan tüm XPath Uzantı işlevleri tam listesi için MSXML 4.0 Software Development Kit'e (SDK) belgelerine, <a1>XPath</a1> başvuru bölümündeki "Microsoft XPath uzantısı işlevleri" konusuna bakın.


Bu makaledeki bilginin uygulandığı durum:
  • Microsoft XML Core Services 4.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
Anahtar Kelimeler: 
kbmt kbhowto kbhowtomaster KB307941 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:307941  (http://support.microsoft.com/kb/307941/en-us/ )