Makale numarası: 272270 - Son Gözden Geçirme: 13 Temmuz 2004 Salı - Gözden geçirme: 2.2
Bu makalede, OLEDB basit sağlayıcısı için sıradüzenli XML verilerine erişmek XML kullanımını gösteren bir ASP istemcisi ayarlamak için adım adım yönergeler içerir.
<a1>XML</a1> (XML OSP) ilgili OLE DB Basit Sağlayıcısı, XML belgesindeki verileri salt okunur bir ADO kayıt yüklemek için kullanılabilir. Verileri daha sonra okumak ve ADO Recordset nesnesi standart yöntemleri kullanılarak erişilen. Bu sağlayıcı, XML belgelerinde bulunan hiyerarşik veriyle çalışmak için farklı bir yöntem sağlamak için kullanılabilir.
Sıradaki ayarlamak ve bir XML belgesinde depolanan hiyerarşik verilerine erişmek için XML OSP kullanan bir ASP sayfası sınamak için aşağıdaki adımları çalıştırın:
- Yeni bir dosya, Microsoft Not Defteri'nde açın. Kopyalama ve aşağıdaki kodu içine yapıştırın ve dosyayı komut dosyalarını çalıştırmak için gerekli izinlere sahip bir IIS sanal dizininde TestOSP.asp kaydedin:
<%@ Language=VBScript %>
<!--#include file="adovbs.inc" -->
<%
Dim adoRS 'ADODB.Recordset
Set adoRS = CreateObject("ADODB.Recordset")
' Set up the Connection
adoRS.ActiveConnection = "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"
' Open the XML source
adoRS.Open Server.MapPath(".") & "\portfolio.xml"
printtbl adoRS, 0
If adoRS.State = adStateOpen Then
adoRS.Close
End If
Set adoRS = Nothing
Response.End
' Function to recurcusively retrieve the data
Sub printtbl(rs, indent)
Dim rsChild 'ADODB.Recordset
Dim Col 'ADODB.Field
set rsChild = Server.CreateObject("ADODB.Recordset")
While rs.EOF <> True
For Each Col In rs.Fields
If Col.Name <> "$Text" Then ' $Text to be ignored
If Col.Type <> adChapter Then
' Output the non-chaptered column
Response.Write( String((indent)," " ) & Col.Name & ": " & Col.Value )
Else
Response.Write("<br/>")
' Retrieve the Child recordset
Set rsChild = Col.Value
rsChild.MoveFirst
If Err Then
Response.write("Error: " & Error )
Response.end
end if
printtbl rsChild, indent + 4
rsChild.Close
Set rsChild = Nothing
End If
End If
Next
Response.Write( "<br/>")
rs.MoveNext
Wend
End Sub
%>
- ASP dosyası önceki kod XML basit OLEDB Sağlayıcısı portfolio.xml bir ADO Recordset nesnesine adlı XML dosyasından veri yüklenemedi kullanır. Yeni bir dosya Not Defteri'nde açın ve kopyalayın ve sonra da aşağıdaki XML içine yapıştırın. Dosyayı portfolio.xmlTestOSP.asp kaydettiğiniz IIS sanal dizininde olarak kaydedin:
<portfolio>
<stock>
<symbol>CTS</symbol>
<price>$66.00</price>
<info>
<companyname>Contoso Pharmaceuticals</companyname>
<website>http://www.contoso.com</website>
</info>
</stock>
<stock>
<symbol>FAB</symbol>
<price>$110.00</price>
<info>
<companyname>Fabrikam, Inc</companyname>
<website>http://www.fabricam.com</website>
</info>
</stock>
<stock>
<symbol>PRO</symbol>
<price>$50.00</price>
<info>
<companyname>Proseware, Inc</companyname>
<website>http://www.proseware.com</website>
</info>
</stock>
<stock>
<symbol>WWI</symbol>
<price>$136.00</price>
<info>
<companyname>Wide World Importers</companyname>
<website>http://www.worldwideimporters.com</website>
</info>
</stock>
</portfolio>
- ınternet Explorer'la TestOSP.asp bulun ve portfolio.xml verilerde görüntülendiğini unutmayın gerektiği gibi. ASP kodunda bir ADO Recordset, XML verileri yüklenemedi XML OSP kullanır ve sonra kümesindeki kayıtlar arasında döngüsü ve alanlarındaki değerleri öğrenmek için ASP Response nesnesi yazar.
Bu makaledeki bilginin uygulandığı durum:
- Microsoft ActiveX Data Objects 2.6
- Microsoft ActiveX Data Objects 2.7
- Microsoft Data Access Components 2.6
- Microsoft Data Access Components 2.7
- Microsoft Active Server Pages 4.0
- Microsoft XML Parser 2.6
- Microsoft XML Parser 3.0
- Microsoft XML Core Services 4.0
| kbmt kbhowto KB272270 KbMttr |
Otomatik 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:
272270
(http://support.microsoft.com/kb/272270/en-us/
)