A
ArunDhaJ
Hi,
I'm trying to write a sub select in linq to generete the list of
users.
I have an XML like this:
<?xml version="1.0" encoding="utf-8"?>
<UserConfig>
<Users>
<User id="1" loginId="arun" firstName="Arunkumar"
lastName="Dharuman" >
<assignedRoles>
<id>1</id>
</assignedRoles>
</User>
<User id="2" loginId="arun" firstName="Arunkumar"
lastName="Dharuman" >
<assignedRoles>
<id>1</id>
<id>2</id>
</assignedRoles>
</User>
<User id="3" loginId="arun" firstName="Arunkumar1"
lastName="Dharuman1" >
<assignedRoles>
<assignedRoles>
<id>3</id>
<id>2</id>
</assignedRoles>
</assignedRoles>
</User>
</Users>
</UserConfig>
I'm following query works fine when assignedRole is ignored...
var users = from ul in xDoc.Descendants("User")
select new
{
Id = ul.Attribute("id"),
LoginName = ul.Attribute("loginId"),
FirstName = ul.Attribute("firstName"),
LastName = ul.Attribute("lastName"),
};
when trying to include assignedRole as
var users = from ul in xDoc.Descendants("User")
select new
{
Id = ul.Attribute("id"),
LoginName = ul.Attribute("loginId"),
FirstName = ul.Attribute("firstName"),
LastName = ul.Attribute("lastName"),
Roles = from ur in ul.Element
("assignedRoles")
select new
{
RoleId = ur.Element
("id")
};
};
so that the following code should work:
foreach (var user in users)
{
foreach(var role in Roles)
{
}
}
Regards,
ArunDhaJ
I'm trying to write a sub select in linq to generete the list of
users.
I have an XML like this:
<?xml version="1.0" encoding="utf-8"?>
<UserConfig>
<Users>
<User id="1" loginId="arun" firstName="Arunkumar"
lastName="Dharuman" >
<assignedRoles>
<id>1</id>
</assignedRoles>
</User>
<User id="2" loginId="arun" firstName="Arunkumar"
lastName="Dharuman" >
<assignedRoles>
<id>1</id>
<id>2</id>
</assignedRoles>
</User>
<User id="3" loginId="arun" firstName="Arunkumar1"
lastName="Dharuman1" >
<assignedRoles>
<assignedRoles>
<id>3</id>
<id>2</id>
</assignedRoles>
</assignedRoles>
</User>
</Users>
</UserConfig>
I'm following query works fine when assignedRole is ignored...
var users = from ul in xDoc.Descendants("User")
select new
{
Id = ul.Attribute("id"),
LoginName = ul.Attribute("loginId"),
FirstName = ul.Attribute("firstName"),
LastName = ul.Attribute("lastName"),
};
when trying to include assignedRole as
var users = from ul in xDoc.Descendants("User")
select new
{
Id = ul.Attribute("id"),
LoginName = ul.Attribute("loginId"),
FirstName = ul.Attribute("firstName"),
LastName = ul.Attribute("lastName"),
Roles = from ur in ul.Element
("assignedRoles")
select new
{
RoleId = ur.Element
("id")
};
};
so that the following code should work:
foreach (var user in users)
{
foreach(var role in Roles)
{
}
}
Regards,
ArunDhaJ