改行

2016-04-14 18 views
0

文字列のサンプル私は、コンソールに出力を見ると、それは<name></name><mike></mike> のように表示しますが、私は改行

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

タグのような出力が次の行に来doesnotたい

=「名前マイク」コンソールであなたがここに見つけることができるjson.netライブラリを使用して

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

http://www.newtonsoft.com/json

+8

Json.Netを使用してオブジェクトへのJson入力を逆シリアル化し、次にXmlSerializerを使用してオブジェクトをXMLにシリアル化します。 –

+4

PSこれは有効なJsonファイルではありません。コロンなし、名前や文字列値の二重引用符はありません。任意のJsonライブラリ –

+0

を使って解析することはできません。次に、これを目的のo/pに変換する方法があります。 – stackdoubt

答えて

2

まず必要な、正しいJSONで提供された例が正しくないと、それは次のようになります。ファイルを開き、Newtonsoft.Json.JsonConvert.DeserializeXNodeを使用してxmlでデシリアライズし、ケース内でPersonまたはクラス名を指定するrootElementNameを指定します。

あなたはこのような何かを得るでしょう:

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

例:

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

あなたの入力が常に同じに見える場合は、このように単純な正規表現でそれを試みることができる:

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); 
    } 
}