2011-12-04 16 views
0
 string json = "{"Animal":{"id":"123","verified":true}}" 

     XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json); 

     returnXml = doc.ToString(); 

なぜ "ReturnXml"はXML出力ではなく、 "System.Xml.XmlDocument"という文字列を返すのですか?JSON.NET XMLから文字列へ


http://json.codeplex.com/

答えて

5

XMLを印刷するには、あなたがInnerXml

を使用する必要があります
doc.InnerXml; 
+0

+1 - はるかに優れた私より回答 –

1

常にXmlDocumentのToString方法を出力するように、そこに含まれるXMLのかなりのバージョンを設定されていません。

あなたはそれが実際のXMLを出力ToStringメソッドをサポートしていますので、最善の策は、単にXDocumentにそのXmlDocumentオブジェクトに変換することであってもよいしている:

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json); 
XDocument linqXML = XDocument.Load(new XmlNodeReader(doc)); 
returnXML = linqXML.ToString(); 
+0

xml文字列を出力するように修正するにはどうすればよいですか? – 001

+0

あなたはそれを自分で行う必要があります。これをチェックするhttp://stackoverflow.com/questions/203528/what-is-the-simplest-way-to-get-indented-xml-with-line-breaks-from-xmldocument –

関連する問題