从字符串中提取子字符串

时间:2013-03-26 15:55:22

标签: c# c#-4.0

从指定字符串中提取子字符串的最佳和优化方法是什么。

我的主要字符串就像

string str = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 

其中从某处收集值AAA0和BBB1的动态值。

我需要在这里提取AAA0和BBB1。

如果有任何功能或优化方式,请建议我。

谢谢你!

2 个答案:

答案 0 :(得分:0)

这无论如何都是低效的,但它可以满足您的要求。它假设周围XML的布局是不变的。

var foo = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 
var ary = XDocument.Parse(foo).Root.Elements().ToArray();

// ary[1].Value -> AAA0
// ary[2].Value -> BBB1

答案 1 :(得分:0)

使用XmlDocument

执行此操作的方法
void Main()
{
    string str = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(str);
    var t = doc.GetElementsByTagName("t");
    Console.WriteLine(t[1].InnerText);
    Console.WriteLine(t[2].InnerText);
}