0

次のユニットテストはVB.Netで合格します

<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

C#で同じことを主張するにはどうすればよいですか?

明確にするために、私は表現する方法を知りたいです...

XML.<Level1>.<Item>

... C#で

4

2 に答える 2

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

そしてもちろん、 (VBリテラルも生成するものです)でXMLある必要がありますXElement

于 2012-04-19T08:52:02.217 に答える
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());
于 2012-04-19T09:03:27.310 に答える