2016-04-14 13 views
0

dize örneği i konsolda çıktı görünce o <name></name><mike></mike> gibi görüntüler Amayeni hat

<name></name> 
<mike></mike> 

etiketleri gibi çıkış sonraki satırda gelir doesnot istiyorum

= "adı mike" konsolda.

+8

Json girişini nesnelere ayırmak için Json.Net'i kullanın, ardından nesneleri XML'e serileştirmek için XmlSerializer'ı kullanın. –

+4

PS bu geçerli bir Json dosyası değil - kolonlar yok, adlar veya dize değerleri etrafında çift tırnak işareti yok. Herhangi bir Json kütüphanesi –

+0

Oops kullanarak onu ayrıştıramazsınız. O zaman bunu yayınladığım istenen o/p'ye dönüştürmenin bir yolu var. – stackdoubt

cevap

2

İhtiyacınız ilk doğru bir json, sağlanan örnek doğru değil mi, bu gibi görünmelidir:

{ 
    "Name": "Mike", 
    "age": 19, 
    "gender": "male" 
} 

burada bulabilirsiniz json.net kütüphane kullanma: http://www.newtonsoft.com/json

Dosyayı açın ve Newtonsoft.Json.JsonConvert.DeserializeXNode'u kullanarak xml'de deserialize edin ve vakanızda kişinin veya sınıfın adı olması gereken rootElementName değerini sağlayın.

Böyle bir şey alacak:

<person> 
    <Name>Mike</Name> 
    <age>19</age> 
    <gender>male</gender> 
</person> 

Örnek:

System.IO.File.WriteAllText(resultPath, Newtonsoft.Json.JsonConvert.DeserializeXNode(System.IO.File.ReadAllText(fileRequested),"person").ToString()); 
0

girişinizi hep aynı görünüyorsa bu şekilde basit bir regex ile deneyebilirsiniz:

Regex r = new Regex(@"\{(\w+)\s(\w+)\}"); 
string input = @"{ {Name Mike} {age 19} {gender male}}"; 
string outputTemplate = @"<a text = ""{0}"" value = ""{1}"" />"; 
if (r.IsMatch(input)) 
{ 
    foreach (Match match in r.Matches(input)) 
    { 
     string key = match.Groups[1].Captures[0].Value; 
     string value = match.Groups[2].Captures[0].Value; 

     Console.WriteLine(outputTemplate, key, value); 
    } 
}