关于生成XML文件的问题
如何用DATASET生成以下格式的XML文件,如果用DATASET不能生成,有什么其他解决方案。
<?xml version= '1.0 '?>
<dataset>
<table>
<A> xx </A>
<B>
<B1> xx </B1>
<B2> xx </B2>
<B3> xx </B3>
</B>
</table>
</dataset>
[解决办法]
'写入XML的两种方法
'1
'Dim myFileStream As New System.IO.FileStream(filename, System.IO.FileMode.Create)
'Dim myXmlWriter As New System.Xml.XmlTextWriter(myFileStream, System.Text.Encoding.Unicode)
'MyDataSet1.WriteXml(myXmlWriter)
'myXmlWriter.Close()
'2
'MyDataSet1.WriteXml(filename, XmlWriteMode.IgnoreSchema)
'MyDataSet1.WriteXmlSchema( "D:\Net大全\WinApp\bin\MyDataSet.xsd ")
都是VB的
[解决办法]
没有必要一定要按着这个格式来生成XML文档,你可以根据你的使用来自已定义格式就是了.
使用DataSet的默认方法生成XML可能对实现情况是不合适的,比如它使用的是节点而不是属性来写数据行的值,所以文档会相当大的.
[解决办法]
指定 b和b1的 datarelation
[解决办法]
参考MSXML SDK。
[解决办法]
string appPath=Application.StartupPath;
XmlDocument xmlDoc=new XmlDocument();
XmlElement xmlEle=xmlDoc.CreateElement( "B ");
XmlElement xmlChNode1=xmlDoc.CreateElement( "B1 ");
xmlChNode1.InnerText= "xx ";
XmlElement xmlChNode2=xmlDoc.CreateElement( "B2 ");
xmlChNode2.InnerText= "xx ";
XmlElement xmlChNode3=xmlDoc.CreateElement( "B3 ");
xmlChNode3.InnerText= "xx ";
xmlEle.AppendChild(xmlChNode1);
xmlEle.AppendChild(xmlChNode2);
xmlEle.AppendChild(xmlChNode3);
xmlDoc.AppendChild(xmlEle);
xmlDoc.Save(appPath+@ "\test\11.xml ");