Dear all;
I have the following code below and I have been spending time trying to debug it but I can't understand why I am getting the illegal character error message. See my code below. Thank you.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using System.Xml;
public partial class workheader : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
load();
}
protected void load()
{
XDocument doc = XDocument.Load(Server.MapPath("App_Data/XMLFile.xml"));
foreach (XElement menuItem in doc.Elements("MainMenu").Elements("MenuItem"))
{
string a = menuItem.Element("LinkURL").Value;
string b = menuItem.Element("LinkLabel").Value;
hp.Text = b;
hp.NavigateUrl = a;
if (doc.Elements("submenu") != null)
{
foreach (XElement subItem in doc.Elements("MainMenu").Elements("MenuItem").Elements("SubMenu").Elements("SubMenuItem"))
{
string c = subItem.Element("LinkURL").Value;
}
}
}
}
}
workheader.master
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="workheader.master.cs" Inherits="workheader" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:HyperLink ID="hp" runat="server" />
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
XML code
<?xml version="1.0" encoding="utf-8" ?>
<MainMenu>
<MenuItem>
<LinkLabel>Begin</LinkLabel>
<LinkURL>DefaultA.aspx</LinkURL>
</MenuItem>
<MenuItem>
<LinkLabel>
Default B
</LinkLabel>
<LinkURL>
DefaultB.aspx
</LinkURL>
</MenuItem>
<MenuItem>
<LinkLabel>
Default reports
</LinkLabel>
<LinkURL>
DefaultC.aspx
</LinkURL>
<SubMenu>
<SubMenuItem>
<LinkLabel>
Default C established
</LinkLabel>
<LinkURL>
DefaultC.aspx
</LinkURL>
</SubMenuItem>
<SubMenuItem>
<LinkLabel>
Default D
</LinkLabel>
<LinkURL>
DefaultD.aspx
</LinkURL>
</SubMenuItem>
<SubMenuItem>
<LinkLabel>
Default E
</LinkLabel>
<LinkURL>
DefaultE.aspx
</LinkURL>
</SubMenuItem>
</SubMenu>
</MenuItem>
</MainMenu>
All help is appreciated. Thank you.