我想从DataSet创建一个嵌套的XML。 生成的Xml看起来像这样:
<?xml version="1.0" encoding="utf-16"?>
<Album>
<Name>Best-Album</Name>
<Title>Album Title</Title>
<Description>Some explanation.</Description>
<CoverImgIndx>2</CoverImgIndx>
<Images>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>0</indx>
<filepath>C:\Images\file1.jpg</filepath>
</Image>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>1</indx>
<filepath>C:\Images\file2.png</filepath>
</Image>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>2</indx>
<filepath>C:\Images\file3.jpg</filepath>
</Image>
</Images>
</Album>
所以我有一个表Album和一个表Image,它们之间有Album-> Name和Image-> AlbumName之间的关系。
现在,我可以使用此代码创建的所有内容:
DataRelation relation = new DataRelation("Images",
dataSet.Tables["Album"].Columns["Name"],
dataSet.Tables["Image"].Columns["AlbumName"],
true);
relation.Nested = true;
dataSet.Relations.Add(relation);
dataSet.WriteXml("Test-Sql.xml");
..是此XML:
<?xml version="1.0" encoding="utf-16"?>
<Album>
<Name>Best-Album</Name>
<Title>Album Title</Title>
<Description>Some explanation.</Description>
<CoverImgIndx>2</CoverImgIndx>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>0</indx>
<filepath>C:\Images\file1.jpg</filepath>
</Image>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>1</indx>
<filepath>C:\Images\file2.png</filepath>
</Image>
<Image>
<AlbumName>Best-Album</AlbumName>
<indx>2</indx>
<filepath>C:\Images\file3.jpg</filepath>
</Image>
</Album>
就像您看到的关系名称不习惯用作父标记一样。可以将关联名称为“ Images”的Image标签作为父标签吗?