2010-12-11 134 views
0

林转换的OBJ-C应用到C#和我有这个一个麻烦:C#相当于OBJ-C的

什么是C#的方式来做到这一点:

NSArray *charts = [xmlString componentsSeparatedByString:@"</record>"]; 
+0

我不知道客观C - 你能解释一下这行代码的作用吗? – Oded 2010-12-11 19:30:24

+0

它将一个字符串并将其转换为一个字符串数组,使用“”作为分隔符...“bla bla bla yo yo yo”将被转换为具有以下对象的数组:“bla bla bla”和“哟哟哟“ – Brodie 2010-12-11 19:33:19

回答

3
string[] charts = xmlString.Split(new string[] { "</record>" }, StringSplitOptions.None); 
+0

+1。作为一个小细节,我认为一个'NSArray'更接近'List '而不是'T []'。这可能是错误的。 – Ani 2010-12-11 19:36:32

+0

完美的感谢!,我近距离 – Brodie 2010-12-11 19:37:23

+0

@Brodie:你真的拥有有效的XML吗?正如我在回答中所说的那样,如果情况如此,我会强烈*敦促您重新考虑使用直接字符串操作。 – 2010-12-11 19:46:03

1

我误读原始问题(或者说,评论),但我会强烈建议如果你有一些XML,你不只是通过标签名称拆分它 - 你将它解析为XML,然后处理解析的文档。这比使用纯字符串操作更可靠。

例如,如果你想获得每个<record>元素中的文本您可以使用:

XDocument doc = XDocument.Parse(text); 
List<string> records = doc.Descendants("record") 
          .Select(x => x.Value) 
          .ToList(); 

处理XML作为一个纯字符串几乎总是一个坏主意。

+0

不知道为什么选票投下来,这是一个合理的点。 – JeremyP 2010-12-11 19:53:56

+0

@JeremyP:它被降低了因为它的原始版本建议使用'string.Join' - 因为我误解了OP的评论。 – 2010-12-11 19:54:29