silverlight 读取 XML

silverlight读取xml主要技术点是获取存放在服务端的xml绝对路径地址。代码如下。

View Code
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Shapes
Imports System.IO
Imports System.Xml
Imports System.Windows.Browser

Partial Public Class MainPage
Inherits UserControl

Public Sub New()
InitializeComponent()

Dim uri As New Uri(GetURL() & "/RMS_data_export_sql.XML", UriKind.Absolute)
Dim Appclient As New WebClient()
Appclient.OpenReadAsync(uri)
AddHandler Appclient.OpenReadCompleted, AddressOf Appclient_OpenReadCompleted

End Sub

Private Sub Appclient_OpenReadCompleted(ByVal sender As Object, ByVal e As OpenReadCompletedEventArgs)
Dim stream As Stream = e.Result
Dim xReader As XmlReader = XmlReader.Create(stream)

xReader.ReadToFollowing("SQL_NAME")
Dim TestData As String = xReader.ReadElementContentAsString()
MessageBox.Show(TestData)
xReader.ReadToNextSibling("SQL_PARAMETER")
Dim SecData As String = xReader.ReadElementContentAsString()
MessageBox.Show(SecData)

End Sub

''' <summary>
''' 获取当前SILVERLIGHT程序存放网络URL的前缀
''' </summary>
''' <returns>URL前缀</returns>
Public Shared Function GetURL() As String
Dim location As ScriptObject = TryCast(HtmlPage.Window.GetProperty("location"), ScriptObject)
Dim r As Object = location.GetProperty("href")
Dim URL As String = r.ToString().Substring(0, r.ToString().LastIndexOf("/"c))
'截取到当前SILVERLIGHT程序存放网络URL的前缀
Return URL
End Function


End Class

 

posted @ 2012-01-18 09:58  Tmac_张淼  阅读(193)  评论(0)    收藏  举报