假设我有一个如下所示的字符串:
string foo ="<add key="key1" Value="val1"/>
<add key="key2" Value="val2"/>
<add key="key3" Value="val3"/>"
从这个字符串开始,我需要遍历并获取每个键值对并对它们做一些事情。 我怎么能这样做?
感谢
答案 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;
}