考虑下面的XML的LINQ to XML LIKE子句
<?xml version="1.0"?>
<Message>
<ArrayOfStock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Stock>
<StockID>9cddb639-25ee-4415-be07-3109e5ae9883</StockID>
<Description>Stock Item 0</Description>
</Stock>
<Stock>
<StockID>f89f02f9-b359-48c8-8d2f-3a950837f4fb</StockID>
<Description>Stock Item 1</Description>
</Stock>
<Stock>
<StockID>3338ec80-f59e-4979-a04c-f7d52e386bb7</StockID>
<Description>Stock Item 2</Description>
</Stock>
</ArrayOfStock>
</Message>
是否有返回消息的孩子们在儿童的名字开始与“ArrayOf”,那么这更好/更正确的方法是什么?
IEnumerable<XElement> array = from arrayOfX
in document.Root.Elements()
where arrayOfX.Name.ToString().IndexOf("ArrayOf") > -1
select arrayOfX;
PS:这对边缘情况也有问题,其中IndexOf()将为String.Empty值返回0。 (虽然不确定这是否可以在格式良好的XML中实现 - 不认为它是?)
嗯。那么现在我觉得自己像一只鹅...忘了那种方法。 – 2011-04-19 06:37:42
.NET中有很多有用的'String'方法('Contains','StartsWith','EndsWith'来命名,但是三个) - 学习它们! – 2011-04-19 23:03:48
是的,指挥官! :-p – 2011-04-27 02:21:51