从字符串中提取信息

时间:2009-11-11 14:48:50

标签: c# asp.net

假设我有一个如下所示的字符串:

string foo ="<add key="key1" Value="val1"/>
    <add key="key2" Value="val2"/>
    <add key="key3" Value="val3"/>"

从这个字符串开始,我需要遍历并获取每个键值对并对它们做一些事情。 我怎么能这样做?

感谢

2 个答案:

答案 0 :(得分:8)

这实际上是XML吗?如果是这样,请使用XML解析器。如果它是一堆元素但没有一个“root”元素,你也可以将它添加到开头和结尾:

string xml = "<foo>" + foo + "</foo>";

然后使用XML解析器。

编辑:好的,如果它是XML,你应该肯定使用XML解析器。否则你很容易遇到编码值等问题。

答案 1 :(得分:0)

(1)首先删除这些字符:&lt;,/,&gt;“ (2)拆分为“=”

请注意,使用下面的代码,使用循环值(索引超出范围等)

修改

private Dictionary[] ExtractValuePair(string PString) {
    Of;
    String;
    String;
    Dictionary _dc = new Dictionary(Of, String, String);
    string[] _tmpStr;
    PString = PString.Replace("<", "").Replace(">", "").Replace("/", "").Replace('"', "").Replace("add key", "").Replace("Value", "");
    _tmpStr = PString.Split("=");
    int i;
    for (i = 1; (i 
                <= (_tmpStr.Length - 2)); i++) {
        _dc.Add(_tmpStr[i], _tmpStr[(i + 1)]);
    }
    return _dc;
}