2014-02-17 4 views
-1

, как я могу взять часть этой строки:как взять часть строки

string="<ArrayOfArrayOfKeyValueOfstringstring xmlns:d1p1="http://www.w3.org/2001/XMLSchema" i:type="d1p1:base64Binary" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">0RuHA6OkPMP7myQPAR4ZDMoB8mo=</ArrayOfArrayOfKeyValueOfstringstring>"; 

мне нужно взять только эту часть «0RuHA6OkPMP7myQPAR4ZDMoB8mo», как я могу programmaticaly разделить часть мне нужно?

его не XML его строка система отдай мне, когда я спрашиваю подробности по телефону, мне нужно получить только часть IMEI:

Object obj = DeviceExtendedProperties.GetValue("DeviceUniqueId"); 
byte[] objByte = ObjectToByteArray(obj); 
IMEI = System.Text.Encoding.UTF8.GetString(objByte, 0, objByte.Length); 

этого ObjectToByteArray():

private byte[] ObjectToByteArray(Object obj) 
     { 
      DataContractSerializer serializer = new DataContractSerializer(typeof(List<Dictionary<String, String>>)); 

      byte[] byteArr; 

      using (var ms = new System.IO.MemoryStream()) 
      { 
       serializer.WriteObject(ms, obj); 
       byteArr = ms.ToArray(); 
      } 
      return byteArr; 

я разрезал строку, используя Split и заменить этим способом:

a1 = IMEI.Split(IMEIerrato, 2 ,StringSplitOptions.None); 
IMEIgiusto = a1[1].Replace("=</ArrayOfArrayOfKeyValueOfstringstring>", ""); 
Debug.WriteLine("IMEI: "+IMEIgiusto); 

я получаю эту OUTP ут:

IMEI: 0RuHA6OkPMP7myQPAR4ZDMoB8mo 

ПОСТАНОВИЛИ

+2

Если это XML, почему бы не использовать XML API? –

+0

@JonSkeet его не xml –

+0

Это, безусловно, выглядит как XML для меня. Как вы считаете, что это не XML? –

ответ

6

Я бы использовать XML API:

XElement element = XElement.Parse(text); 
string value = element.Value; 
byte[] bytes = Convert.FromBase64String(value); 
0

я вырезать строку с помощью Split и заменить этим способом:

a1 = IMEI.Split(IMEIerrato, 2 ,StringSplitOptions.None); 
IMEIgiusto = a1[1].Replace("=</ArrayOfArrayOfKeyValueOfstringstring>", ""); 
Debug.WriteLine("IMEI: "+IMEIgiusto); 

я получаю этот выход:

IMEI: 0RuHA6OkPMP7myQPAR4ZDMoB8mo 
Смежные вопросы