你能帮我导入这个XML吗?
我的困难在于他没有元素。
例如:
<?xml version="1.0" encoding="Windows-1252"?>
<TBL>
<CLI001>
<NrCli>1000</NrCli>
<Nome>Garagem Mira-Sintra, Lda.</Nome>
<CPost>2710-011 SINTRA</CPost>
<Comercial>7</Comercial>
<VndNome>A. Tomás & Lúcio- Terraplanagens e Cofragens, Lda</VndNome>
</CLI001>
<CLI002>
<NrCli>1001</NrCli>
<Nome>Auto Mecânica Torreense, Lda</Nome>
<CPost>2560-231 TORRES VEDRAS</CPost>
<Comercial>8</Comercial>
<VndNome>Ricardo Rui Ribeiro - Sociedade de advogados</VndNome>
</CLI002>
<CLI003>
<NrCli>1002</NrCli>
<Nome>Auto Peças de Miranda, Lda</Nome>
<CPost>5210-300 SÃO MARTINHO DE ANGUEIRA</CPost>
<Comercial>10</Comercial>
<VndNome>Jacinto Marques de Almeida Saraiva</VndNome>
</CLI003>
<TBL>
只导入第一条记录:
try
{
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Users\Rui\Desktop\myfilename.xml");
dataGridView1.DataSource = dataSet.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
我无法找到解决这个问题的方法:s
答案 0 :(得分:2)
然后结束标记<input [(ngModel)]="tRating" type="number" min="1" max="10">
应该关闭标记<TBL>
。下次您可以使用this URL来验证您的xml。
答案 1 :(得分:0)
首先,你的示例xml中有一个拼写错误,它应该有一个结束标记。我假设您的实际XML具有结束标记,因为当您尝试将XML加载到DataSet中时,您的代码会失败。
您在数据网格视图中只看到一行的原因是因为 只有数据集中的一行。表[0]。每个CLI标记(CLI001,CLI002,CLI003)都作为单独的表加载到数据集中。查看datagrid视图中加载的数据的结构,它符合CLI001的子项。如果要在单个DataGridView中显示所有这些内容,则需要将它们合并到一个数据表中。
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Users\Rui\Desktop\myfilename.xml");
//merge all the tables into a single one
var dtMerged = dataSet.Tables[0].Copy();
for (int i = 1; i < dataSet.Tables.Count; i++)
{
dtMerged.Merge(dataSet.Tables[i]);
}
//set the datasource using the merged datatable
dataGridView1.DataSource = dtMerged;