Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中将xml数据转换为json#_C#_Asp.net_Json_Xml - Fatal编程技术网

C# 如何在c中将xml数据转换为json#

C# 如何在c中将xml数据转换为json#,c#,asp.net,json,xml,C#,Asp.net,Json,Xml,我想将xml数据转换为json [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public DataTable NameArray() { DataTable imageTable = new DataTable("gcm"); // imageTable.Columns.Add("image_name", typeof(String)); imageTable.Columns.Add(

我想将xml数据转换为json

 [WebMethod]
 [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
 public DataTable NameArray()
 {
   DataTable imageTable = new DataTable("gcm");
   // imageTable.Columns.Add("image_name", typeof(String));
   imageTable.Columns.Add("username", typeof(String));
   imageTable.Columns.Add("gcmkey", typeof(String));
   if (con.State.ToString() == "Closed")
   {
     con.Open();
   }
   string query = "SELECT username,gcmkey from gcm";
   SqlCommand command = new SqlCommand(query, con);
   SqlDataReader reader = command.ExecuteReader();
   if (reader.HasRows)
   {
     while (reader.Read())
     {
       imageTable.Rows.Add(reader["username"],reader["gcmkey"]);
     }
   }
   reader.Close();
   con.Close();
   return imageTable;
 }

我正在使用这一行,但它对我不起作用,因此,请告诉我如何转换为
json

this.Context.Response.ContentType = "application/json; charset=utf-8";
this.Context.Response.Write(json.Serialize(new { PersonalProfile = reader })); 
输出:-

DataTable xmlns="http://tempuri.org/">
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="gcm" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="gcm">
<xs:complexType>
<xs:sequence>
<xs:element name="username" type="xs:string" minOccurs="0"/>
<xs:element name="gcmkey" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <DocumentElement xmlns="">
    <gcm diffgr:id="gcm1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
    <username>nirav</username>
    <gcmkey>12345</gcmkey>
    </gcm>
    </DocumentElement>
    </diffgr:diffgram>
DataTable xmlns=”http://tempuri.org/">
尼拉夫
12345
有人已经问过了,但我会给你答案

对。使用包含帮助器方法的JsonConvert类实现此精确目的:

// To convert an XML node contained in string xml into a JSON string   
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string jsonText = JsonConvert.SerializeXmlNode(doc);

// To convert JSON text contained in string json into an XML node
XmlDocument doc = JsonConvert.DeserializeXmlNode(json);

此处的文档:

包括来自Nuget的Newtonsoft.Json
然后使用这个

JsonConvert.SerializeObject(dt, Newtonsoft.Json.Formatting.Indented);
输出将如下所示:

{“id”:“1”,“姓名”:“xyz先生”,“年龄”:“25”,“国家”:“印度”,“地址”:“H-4561”,“电话”:“1258961”},{“id”:“2”,“姓名”:“xyz先生”,“年龄”:“26”,“国家”:“印度”,“地址”:“H-4562”,“电话”:“1258962”},{“id”:“3”,“姓名”:“xyz先生”,“年龄”:“27”,“国家”:“印度”,“地址”:“H-4563”,“电话”:“1258963”},{“id”:“4”,“姓名”:“xyz先生”,“年龄”:“28”,“国家”:“印度”,“地址”:“H号-4564”,“电话”:“1258964”},{“id”:“5”,“姓名”:“xyz先生”,“年龄”:“29”,“国家”:“印度”,“地址”:“H号-4565”,“电话”:“1258965”}


让我知道它是否符合您的目的,但您觉得很难将其组合起来

您实际要转换的XML数据是什么?XML在代码中的位置是什么?这不是ASP.NET WebApi项目。。。对吧?不适合我