Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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# xml到json的转换_C#_Json_Xml - Fatal编程技术网

C# xml到json的转换

C# xml到json的转换,c#,json,xml,C#,Json,Xml,这是我的xml文件 <?xml version="1.0" standalone="yes"?> <NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet

这是我的xml文件

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="MA_ID" type="xs:string" minOccurs="0" />
                <xs:element name="MA_CODE" type="xs:string" minOccurs="0" />
                <xs:element name="MA_CODE_P" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <Table1>
    <MA_ID />
    <MA_CODE>PA15TX0009707</MA_CODE>
    <MA_CODE_P>PA15TX0009707001</MA_CODE_P>
  </Table1>
  <Table1>
    <MA_ID />
    <MA_CODE>PA15TX0009707</MA_CODE>
    <MA_CODE_P>PA15TX0009707001</MA_CODE_P>
  </Table1>
  <Table1>
    <MA_ID />
    <MA_CODE>PA15TX0009707</MA_CODE>
    <MA_CODE_P>PA15TX0009707001</MA_CODE_P>
  </Table1>
</NewDataSet>

PA15TX0009707
PA15TX0009707001
PA15TX0009707
PA15TX0009707001
PA15TX0009707
PA15TX0009707001
在VS中使用“粘贴特殊”工具后,我有以下类

[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class NewDataSet
{

    private NewDataSetTable1[] table1Field;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("Table1")]
    public NewDataSetTable1[] Table1
    {
        get
        {
            return this.table1Field;
        }
        set
        {
            this.table1Field = value;
        }
    }
}

/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class NewDataSetTable1
{

    private object mA_IDField;

    private string mA_CODEField;

    private string mA_CODE_PField;

    /// <remarks/>
    public object MA_ID
    {
        get
        {
            return this.mA_IDField;
        }
        set
        {
            this.mA_IDField = value;
        }
    }

    /// <remarks/>
    public string MA_CODE
    {
        get
        {
            return this.mA_CODEField;
        }
        set
        {
            this.mA_CODEField = value;
        }
    }

    /// <remarks/>
    public string MA_CODE_P
    {
        get
        {
            return this.mA_CODE_PField;
        }
        set
        {
            this.mA_CODE_PField = value;
        }
    }
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace=”“,IsNullable=false)]
公共部分类NewDataSet
{
私有NewDataSetTable1[]表1字段;
/// 
[System.Xml.Serialization.XmlElementAttribute(“表1”)]
public NewDataSetTable1[]表1
{
得到
{
返回此表1字段;
}
设置
{
this.table1Field=值;
}
}
}
/// 
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
公共部分类NewDataSetTable1
{
私有对象mA_IDField;
私有字符串mA_码域;
私有字符串mA_CODE_PField;
/// 
公共对象MA_ID
{
得到
{
返回此文件。mA_IDField;
}
设置
{
this.mA_IDField=值;
}
}
/// 
公共字符串MA_码
{
得到
{
返回此.mA_代码字段;
}
设置
{
this.mA_CODEField=值;
}
}
/// 
公共字符串MA_代码
{
得到
{
返回此.mA_CODE_PField;
}
设置
{
this.mA_CODE_PField=值;
}
}
}

然后我使用这个类来工作:将xml文件转换为列表对象、计算和替换数据。。。现在我需要再次将列表对象转换回xml字符串,我使用
XmlSerializer
,但是返回字符串缺少xs:schema部分,那么如何将列表转换为正确的xml原始格式呢?

看起来这实际上是一个序列化的字符串。如果将其反序列化并重新序列化,则应保留模式。或者,您可以将架构保留在中所示的不受支持的
[xmlanyement]公共xmlement[
属性中。为什么问题的标题和标记提到JSON?问题的主体与JSON无关。