How to display the Attribute values in an XML Document in a DataGrid

Platform: ASP.NET| Category: XML

products.xml


<?xml version='1.0' standalone='yes'?>
<NewDataSet>
  <Product>
    <ProductID  pcode='P2'>2</ProductID>
    <ProductName>Chang</ProductName>
    <SupplierID>1</SupplierID>
    <CategoryID>1</CategoryID>
    <QuantityPerUnit>24 - 12 oz bottles</QuantityPerUnit>
  </Product>
  <Product>
    <ProductID  pcode='P4'>3</ProductID>
    <ProductName>Aniseed Syrup</ProductName>
    <SupplierID>1</SupplierID>
    <CategoryID>2</CategoryID>
    <QuantityPerUnit>12 - 550 ml bottles</QuantityPerUnit>
  </Product>
</NewDataSet>

Use Namespace System.Xml
VB.NET


<asp:DataGrid id='DataGrid1' AutoGenerateColumns='False' runat='server'>
<Columns>
	<asp:TemplateColumn HeaderText='ProductCode'>
	<ItemTemplate>
		<%#CType(Container.DataItem, System.Xml.XmlNode).Attributes('pcode').value%>
	</ItemTemplate>
	</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(Server.MapPath('products.xml'))
dim xmlnodes  as XmlNodeList = xmldoc.SelectNodes('NewDataSet/Product/ProductID')
DataGrid1.DataSource = xmlnodes
DataGrid1.DataBind ()

C#


<asp:DataGrid id='DataGrid1' AutoGenerateColumns='False'  runat='server'>
<Columns>
	<asp:TemplateColumn HeaderText ='ProductCode'>
	<ItemTemplate>
		<%# ((System.Xml.XmlNode)Container.DataItem).Attributes['pcode'].Value %>
	</ItemTemplate>
	</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath('products.xml'));
XmlNodeList xmlnodes = xmldoc.SelectNodes('NewDataSet/Product/ProductID');
DataGrid1.DataSource = xmlnodes;
DataGrid1.DataBind ();

Share with

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.