从“XML Like”文本中提取所有键值对

时间:2011-03-02 20:05:18

标签: c# .net xml

我有一个字符串

 value="test" 
 value3="343" 
_dff="323" 1212="2323". 

这类似于XML字符串的属性声明。我试图提取所有属性和值对。

 E.g value = test,
_dff = 323,

可能是两个独立数组中的值和字段?

在c#

2 个答案:

答案 0 :(得分:0)

你可以这样做:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<root " + yourString + "/>");

foreach(XmlAttribute att in doc.DocumentElement)
{
  // ... use att.Name & att.Value here
}

缺点是如果你的字符串不是很好的xml它将无法工作。所以你必须尝试它是否真的适合你。例如,“1212”不是有效的Xml属性名称...

答案 1 :(得分:0)

物业和价值组合之间总是有1个空格吗?如果是这样,你可以用''分割字符串,然后遍历结果并用'='分割每个字符串。获取结果并将它们放入您认为最好的任何构造中(string [],Hashtable,KeyValuePair字符串/字符串列表都可以工作)

 string test = "test=1 test2=2 test3=3";
 List<string[]> values = new List<string[]>();

 string[] split1 = test.Split(' ');

 foreach (string s in split1)
 {
      string[] split2 = s.Split('=');
      values.Add(new string[]{split2[0],split2[1]});
 }