2012-04-19 7 views
0

以下のユニットテストは、私はC#で同じことを主張するにはどうすればよい C#でこれを行うにはどうすればよいですか?

<Test()> _ 
Public Sub VB_XMLLiteral_SyntaxRocks_Test() 
    Dim XML = <Doc> 
        <Level1> 
         <Item id="1"/> 
         <Item id="2"/> 
        </Level1> 
        <Level1> 
         <Item id="3"/> 
         <Item id="4"/> 
        </Level1> 
       </Doc> 
    Assert.AreEqual(4, XML.<Level1>.<Item>.Count) 
End Sub 

VB.Net

に渡しますか?明確にするために

、私は...表現する方法を知ってXElement(それはだにする必要があるXML

XML.<Level1>.<Item> 

... C#で

+1

QはAssert()についてですか、XMLリテラルについてですか? –

+6

[スタックオーバーフローはコード変換サービスではありません](http://meta.stackexchange.com/a/129362/140505) – Oded

+0

XMLリテラル。私は "XML。"をC# –

答えて

3
Assert.AreEqual(4, XML.Elements("Level1").Elements("Item").Count()); 

そしてもちろん好きでD」 VBリテラルが生成するもの)

+0

はい、最初の呼び出しは要素であり、要素ではない必要があります。 –

+0

右、要素に固定されています。 –

0

LINQ to XMLの使用:

var XML = new XElement("Doc", 
    new XElement("Level1", 
     new XElement("Item", 
      new XAttribute("Id", 1)), 
     new XElement("Item", 
      new XAttribute("Id", 2))), 
    new XElement("Level1", 
     new XElement("Item", 
      new XAttribute("Id", 3)), 
     new XElement("Item", 
      new XAttribute("Id", 4)))); 

Assert.AreEqual(4, 
    (from element in XML.Elements("Level1").Elements("Item") 
    select element).Count()); 
関連する問題