Click here to Skip to main content
15,894,540 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
<?xml version="1.0" ?>

<BrowseNode>
  <BrowseNodeId>976390031</BrowseNodeId>
  <Name>Categories</Name>
  <IsCategoryRoot>1</IsCategoryRoot>
  <Children>
    <BrowseNode>
      <BrowseNodeId>1318158031</BrowseNodeId>
      <Name>Action and Adventure</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318052031</BrowseNodeId>
      <Name>Arts, Film and Photography</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318064031</BrowseNodeId>
      <Name>Biographies, Diaries and True Accounts</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318068031</BrowseNodeId>
      <Name>Business and Economics</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318073031</BrowseNodeId>
      <Name>Children's and Young Adult</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318104031</BrowseNodeId>
      <Name>Comics and Mangas</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318105031</BrowseNodeId>
      <Name>Computing, Internet and Digital Media</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318118031</BrowseNodeId>
      <Name>Crafts, Home and Lifestyle</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318161031</BrowseNodeId>
      <Name>Crime, Thriller and Mystery</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>4149751031</BrowseNodeId>
      <Name>Exam Preparation</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1402038031</BrowseNodeId>
      <Name>Fantasy, Horror and Science Fiction</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318128031</BrowseNodeId>
      <Name>Health, Family and Personal Development</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318164031</BrowseNodeId>
      <Name>Historical Fiction</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318133031</BrowseNodeId>
      <Name>History</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318143031</BrowseNodeId>
      <Name>Humour</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318144031</BrowseNodeId>
      <Name>Language, Linguistics and Writing</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318152031</BrowseNodeId>
      <Name>Law</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318157031</BrowseNodeId>
      <Name>Literature and Fiction</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318298031</BrowseNodeId>
      <Name>Maps and Atlases</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318176031</BrowseNodeId>
      <Name>Politics</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318185031</BrowseNodeId>
      <Name>Reference</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318188031</BrowseNodeId>
      <Name>Religion</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318168031</BrowseNodeId>
      <Name>Romance</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318203031</BrowseNodeId>
      <Name>Sciences, Technology and Medicine</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318216031</BrowseNodeId>
      <Name>Society and Social Sciences</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318224031</BrowseNodeId>
      <Name>Sports</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>4149418031</BrowseNodeId>
      <Name>Textbooks</Name>
    </BrowseNode>
    <BrowseNode>
      <BrowseNodeId>1318295031</BrowseNodeId>
      <Name>Travel</Name>
    </BrowseNode>
  </Children>
  <Ancestors>
    <BrowseNode>
      <BrowseNodeId>976389031</BrowseNodeId>
      <Name>Books</Name>
    </BrowseNode>
  </Ancestors>
</BrowseNode>


What I have tried:

Cannot add constraint to DataTable 'BrowseNode' which is a child table in two nested relations.
Im getting this error when
using this code

using (DataSet ds = new DataSet())
{
//Change the XML Path as per your design
ds.ReadXml(Server.MapPath("~/node.xml"));
//Assign the xml data to gridview
GridView1.DataSource = ds;
GridView1.DataBind();
}
Posted
Updated 26-May-16 21:26pm
v2

1 solution

The problem you have is because there is a nested relation ship in your XML file.
This perfectly legal as XML goes, but the class DataSet does not support this.

So what can you do?
Well, one option is to rename the root node from <BrowseNode> to <BrowseNodes> or similar.
Then you can read the XML file without any problem.

If this is feasible in this case depends on how you need to present the data.

This is one way to do it on the fly:
C#
XDocument xDoc = XDocument.Load(Server.MapPath("~/node.xml"));
xDoc.Root.Name = "BrowseNodes";
DataSet ds = new DataSet();
ds.ReadXml(xDoc.CreateReader());
 
Share this answer
 
Comments
Karthik_Mahalingam 27-May-16 4:45am    
5
George Jonsson 27-May-16 5:17am    
Thanks.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900