Connecting Tech Pros Worldwide Help | Site Map

Traversing XML with Linq to XML - newbie q

  #1  
Old October 30th, 2008, 11:25 AM
Simon Woods
Guest
 
Posts: n/a
Hi

I am struggling to navigate an XElement and I'm not sure what is going
wrong. Here's my XML via vb's xml literals

Dim l_testSchema = _
<Mappings>
<Definitions>
<ItemGroup>
<Parent>Table</Parent>
<Name>Name</Name>
</ItemGroup>
<Item>
<Parent>Column</Parent>
<Name>Name</Name>
<Type>Type</Type>
</Item>
</Definitions>

<Data>
<Table>
<Name>MyTable</Name>
<Columns>
<Column>
<Name>MyColumn1</Name>
<Type>String</Type>
</Column>
<Column>
<Name>MyColumn2</Name>
</Column>
<Column>
<Name>MyColumn3</Name>
</Column>
<Column>
<Name>MyColumn4</Name>
</Column>
<Column>
<Name>MyColumn5</Name>
</Column>
<Column>
<Name>MyColumn6</Name>
</Column>
</Columns>
</Table>
</Data>
</Mappings>

I'm basically wanting to use linq to traverse this but I'm struggling to
get anything back

e.g.
l_testSchema.Elements("Columns").Count returns 0
l_testSchema.Descendents(Columns").Count returns 1

In fact I'm struggling to get any other result other than 0 or 1.

Why is that the case? What am I missing?

Thx

Simon
  #2  
Old October 30th, 2008, 11:45 AM
Simon Woods
Guest
 
Posts: n/a

re: Traversing XML with Linq to XML - newbie q


OK ... I didn't realise I needed to put in the absolute path

l_testSchema.Element("Data").Element("Table").Elem ent("Columns").Elements.Count

I thought it would just 'jump' to the correct element.

Thx



Simon Woods wrote:
Quote:
Hi
>
I am struggling to navigate an XElement and I'm not sure what is going
wrong. Here's my XML via vb's xml literals
>
Dim l_testSchema = _
<Mappings>
<Definitions>
<ItemGroup>
<Parent>Table</Parent>
<Name>Name</Name>
</ItemGroup>
<Item>
<Parent>Column</Parent>
<Name>Name</Name>
<Type>Type</Type>
</Item>
</Definitions>
>
<Data>
<Table>
<Name>MyTable</Name>
<Columns>
<Column>
<Name>MyColumn1</Name>
<Type>String</Type>
</Column>
<Column>
<Name>MyColumn2</Name>
</Column>
<Column>
<Name>MyColumn3</Name>
</Column>
<Column>
<Name>MyColumn4</Name>
</Column>
<Column>
<Name>MyColumn5</Name>
</Column>
<Column>
<Name>MyColumn6</Name>
</Column>
</Columns>
</Table>
</Data>
</Mappings>
>
I'm basically wanting to use linq to traverse this but I'm struggling to
get anything back
>
e.g.
l_testSchema.Elements("Columns").Count returns 0
l_testSchema.Descendents(Columns").Count returns 1
>
In fact I'm struggling to get any other result other than 0 or 1.
>
Why is that the case? What am I missing?
>
Thx
>
Simon
  #3  
Old October 30th, 2008, 01:55 PM
Simon Woods
Guest
 
Posts: n/a

re: Traversing XML with Linq to XML - newbie q




l_testSchema.Descendants("Column").Count gives me what I was after.

Thx


Simon Woods wrote:
Quote:
Hi
>
I am struggling to navigate an XElement and I'm not sure what is going
wrong. Here's my XML via vb's xml literals
>
Dim l_testSchema = _
<Mappings>
<Definitions>
<ItemGroup>
<Parent>Table</Parent>
<Name>Name</Name>
</ItemGroup>
<Item>
<Parent>Column</Parent>
<Name>Name</Name>
<Type>Type</Type>
</Item>
</Definitions>
>
<Data>
<Table>
<Name>MyTable</Name>
<Columns>
<Column>
<Name>MyColumn1</Name>
<Type>String</Type>
</Column>
<Column>
<Name>MyColumn2</Name>
</Column>
<Column>
<Name>MyColumn3</Name>
</Column>
<Column>
<Name>MyColumn4</Name>
</Column>
<Column>
<Name>MyColumn5</Name>
</Column>
<Column>
<Name>MyColumn6</Name>
</Column>
</Columns>
</Table>
</Data>
</Mappings>
>
I'm basically wanting to use linq to traverse this but I'm struggling to
get anything back
>
e.g.
l_testSchema.Elements("Columns").Count returns 0
l_testSchema.Descendents(Columns").Count returns 1
>
In fact I'm struggling to get any other result other than 0 or 1.
>
Why is that the case? What am I missing?
>
Thx
>
Simon



Closed Thread