利用.NET FileStreams将DTD插入XML文件中
作者: , 出处:中国IT实验室收集整理, 责任编辑: 李春禹,
2007-12-25 09:18
就算你需要在一个由Web程序生成的输出XML文件中包含一个DTD,这种情况也是不存在的,或者即使存在,也缺乏可参考的标准文件。调用你之前写好的GetDTD函数,它将返回作为FileStream的DTD文件。此时你可以用将输出文件导入一个FileStream (Stream B)的覆盖方法: myDataSet.WriteXml(StreamB)
| Dim swOutput As IO.StreamWriter Try StreamB = New IO.FileStream( _ Server.MapPath("") & "FINAL.xml", _ IO.FileMode.Create) Catch ex As Exception Throw End Try swOutput = New IO.StreamWriter(StreamB) |
调用你之前写好的GetDTD函数,它将返回作为FileStream的DTD文件。然后建立一个和DTD stream同等长度的字节数组,将stream读取到字节数组中,最后关闭它――因为你不再需要用到它了。现在所有的东西都被包含到字节数组中了: dim StreamA as IO.FileStream
| StreamA = GetDTD() Dim bytearray(StreamA.Length) As Byte StreamA.Read(bytearray, 0, StreamA.Length) StreamA.Close() |
现在你就可以将DataSet中的数据导入文件中了。DataSet中的WriteXML方法有许多覆盖方法,比如写入一个真实的文件中。此时你可以用将输出文件导入一个FileStream (Stream B)的覆盖方法: myDataSet.WriteXml(StreamB)
不要忘记关闭文件数据流: StreamB.Close
一旦关闭了Stream B,你便可以从文件系统中访问最新的Final.xml文件了。你还可以将这种方法用到其他类型的文本文件中。
- 本文关键词:

