ASP.Netのお勉強

XMLファイル読み込み@ASP.Net

XMLファイルを読み込で表示します。
下記は、メッセージが設定されたMessage.xmlを読み込み、
該当するメッセージをラベルに表示しています。

XmlDocumentを利用します。
XmlDocumentのLoadで指定されたパスのXMLファイルを読み込みます。

DocumentElementを取得し、ChildNodesをFor Eachを使用しループさせます。
該当のメッセージがあるならば、メッセージを取得し、処理を中断します。

●aspx

<asp:Button ID="Button1" runat="server" Text="Button" /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>


●vb

Imports System.Xml
Imports System.Configuratio

Partial Class Default3
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        '画面に表示
        Me.Label1.Text = Me.GetMessage("1")
    End Sub

    'メッセージが設定されているXMLファイルを取得
    Public Function GetMessage(ByVal no As String) As String

        Dim xmlFilePath As String

        Dim xmlDoc As XmlDocument
        Dim xmlElement As XmlElement
        Dim msgElement As XmlElement

        Dim noStr As String
        Dim returnMsg As String = ""

        'XMLファイルのパスをweb.configから取得
        xmlFilePath = System.Configuration.ConfigurationManager.AppSettings("Message")

        'XMLファイル読み込み
        xmlDoc = New XmlDocument()
        xmlDoc.Load(xmlFilePath)

        '引数のNOに該当するメッセージを取得
        xmlElement = xmlDoc.DocumentElement
        For Each msgElement In xmlElement.ChildNodes

            noStr = msgElement.GetAttribute("no")
            If noStr = no Then
                returnMsg = msgElement.InnerText
                Exit For
            End If
        Next

        Return returnMsg
    End Function
End Class


●Message.xml

<?xml version="1.0" encoding="utf-8" ?>
<messages>
<message no="1">メッセージ</message>
</messages>


●web.config

<appSettings>
<add key="Message" value="C:\Message.xml" />
</appSettings>

Copyright (C) ASP.Netのお勉強. All Rights Reserved.