2011-12-20 15 views
0
string xml = @"<AllBands > 
    <Band> 
     <Name ID=""1234"" started=""1962"">Beatles<![CDATA[lalala]]></Name> 
     <Last>1</Last> 
     <Salary>2</Salary> 
    </Band> 
    <Band> 
     <Name ID=""222"" started=""1968"">Doors<![CDATA[lalala]]></Name> 
     <Last>1</Last> 
     <Salary>2</Salary> 
    </Band> 
    </AllBands>"; 



    XmlReader reader = XmlReader.Create(new StringReader(xml)); 
     XElement root = XElement.Load(reader); 
    var child1 = root.XPathSelectElements(@"/AllBands/Band"); 

child1にはチャイルドがありません!XPathSelectElementsメソッドは結果を返しませんか?

何が欠けていますか?

+0

[XPathSelectElements](http://msdn.microsoft.com/en-us/library/bb342176.aspx) –

+0

あなたがhttp://msdn.microsoft.com([ 'using']でなければなりませんを参照してください。 /en-us/library/yh598w02.aspx)の両方で 'StringReader'と' XmlReader'を実行します。 – GSerg

+0

@GSergええ、私は知っています。 –

答えて

2

rootは、XElement.Load()を使用してロードしたので、AllBands要素を参照しています。だからあなたのXPATHはその要素に相対的でなければなりません。

var children = root.XPathSelectElements("Band"); 
関連する問題