Ken*_*Ken 4 .net c# xsd asp.net-core
不,堆栈溢出还没有合适的答案。我通过连接服务在 .net Core 中获取 ArrayOfXElement。但是,我需要将其转换为数据集。我怎样才能做到这一点?我使用我拥有的所有示例编写了以下代码,但我认为我正在使用错误的节点/元素。我确实看到了节点中的架构和数据。
public static DataSet ToDataSet(this ArrayOfXElement xElementsForSchool)
{
DataSet dataSet = new DataSet();
foreach (XElement xElement in xElementsForSchool.Nodes)
{
string xml = xElement.ToString();
DataTable table = new DataTable();
table.ReadXml(new System.IO.StringReader(xml));
dataSet.Tables.Add(table);
}
return dataSet;
}
Run Code Online (Sandbox Code Playgroud)
ArrayOfXElement 由两个 Node 元素组成。第一个节点的竞赛如下
<xs:schema id="Results" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Results" msdata:IsDataSet="true" msdata:Locale="">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="School">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" msdata:DataType="System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" type="xs:string" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
第二个节点的内容如下。
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<Results xmlns="">
<School diffgr:id="School1" msdata:rowOrder="0">
<ID>83d08e0a-411d-4546-9d7f-0002ee22a3f3</ID>
<Name>Canoga Park</Name>
</School>
</Results>
</diffgr:diffgram>
Run Code Online (Sandbox Code Playgroud)
小智 7
使用此功能
public DataSet ToDataSet(ArrayOfXElement arrayOfXElement)
{
var strSchema = arrayOfXElement.Nodes[0].ToString();
var strData = arrayOfXElement.Nodes[1].ToString();
var strXml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n\t<DataSet>";
strXml += strSchema + strData;
strXml += "</DataSet>";
DataSet ds = new DataSet("TestDataSet");
ds.ReadXml(new MemoryStream(Encoding.UTF8.GetBytes(strXml)));
return ds;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4720 次 |
| 最近记录: |