توضیحات و دانلود

خواندن و نمایش XML data در View با ASP.Net MVC Razor
0 0
خواندن و نمایش XML data در View با ASP.Net MVC Razor

 با سلام در این مقاله با یک مثال ، نحوه خواندن و نمایش داده های XML در View در ASP.Net MVC Razor توضیح خواهیم داد.
داده های XML از یک فایل XML خوانده می شوند و رکورد های XML گرفته شده با استفاده از کلاس Model در ASP.Net MVC Razor در قالب Grid (جدول HTML) نمایش داده می شوند.
فایل XML
در زیر فایل XML متشکل از سوابق مشتریان است. فایل XML با نام Customers.xml در پوشه ای به نام XML در داخل پوشه پروژه ذخیره می شود.

<?xml version="1.0" standalone="yes"?>
<Customers>
 <Customer>
    <Id>1</Id>
    <Name>John Hammond</Name>
    <Country>United States</Country>
 </Customer>
 <Customer>
    <Id>2</Id>
    <Name>Mudassar Khan</Name>
    <Country>India</Country>
 </Customer>
 <Customer>
    <Id>3</Id>
    <Name>Suzanne Mathews</Name>
    <Country>France</Country>
 </Customer>
 <Customer>
    <Id>4</Id>
    <Name>Robert Schidner</Name>
    <Country>Russia</Country>
 </Customer>
</Customers>

فضاهای نام
باید نامهای زیر را وارد کنید.

using System.Xml;
using System.Collections.Generic;

Model
در زیر یک کلاس Model به نام CustomerModel با سه ویژگی یعنی CustomerId ، نام و کشور ارائه شده است.

public class CustomerModel
{
    ///<summary>
    /// Gets or sets CustomerId.
    ///</summary>
    public int CustomerId { get; set; }
 
    ///<summary>
    /// Gets or sets Name.
    ///</summary>
    public string Name { get; set; }
 
    ///<summary>
    /// Gets or sets Country.
    ///</summary>
    public string Country { get; set; }
}

controller
در داخل روش Index Action از controller ، فایل XML با استفاده از شی کلاس XmlDocument خوانده می شود.
سپس Node مشتری با استفاده از query XPath انتخاب می شود و یک حلقه بر روی تمام Node های انتخاب شده اجرا می شود.
در داخل حلقه ، مقادیر از هر Child Node استخراج می شود و به خاصیت شیء کلاس Model اختصاص می یابد و یک مجموعه لیست عمومی از اشیاء کلاس Model تهیه می شود.
سرانجام مجموعه فهرست Generic از اشیاء کلاس Model به View باز می گردد.

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        List<CustomerModel> customers = new List<CustomerModel>();
 
        //Load the XML file in XmlDocument.
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("~/XML/Customers.xml"));
 
        //Loop through the selected Nodes.
        foreach (XmlNode node in doc.SelectNodes("/Customers/Customer"))
        {
            //Fetch the Node values and assign it to Model.
            customers.Add(new CustomerModel
            {
                CustomerId = int.Parse(node["Id"].InnerText),
                Name = node["Name"].InnerText,
                Country = node["Country"].InnerText
            });
        }
 
        return View(customers);
    }
}

View
در داخل View ، کلاس Model Customer به عنوان IEnumerable اعلام می شود که مشخص می کند آن به عنوان یک مجموعه در دسترس خواهد بود.
برای نمایش سوابق از جدول HTML استفاده می شود. یک حلقه بر روی Model اجرا خواهد شد که ردیف های جدول HTML را با سوابق مشتری ایجاد می کند.

@using Grid_XML_MVC.Models
@model IEnumerable<CustomerModel>
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
    <table cellpadding="0" cellspacing="0">
        <tr>
            <th>Customer Id</th>
            <th>Name</th>
            <th>Country</th>
        </tr>
        @foreach (CustomerModel customer in Model)
        {
            <tr>
                <td>@customer.CustomerId</td>
                <td>@customer.Name</td>
                <td>@customer.Country</td>
            </tr>
        }
    </table>
</body>
</html>

عکس صفحه

 

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :