我想创建一个类,其最终结果是创建一个XML文档。目前,该类由嵌套类组成,每个类构建XML文档的一部分。我所关心的是我应该如何将内部类的结果与最终输出结合起来。构建XML的内部类 - 如何让外部类将它们放在一起?
外部类应该将XmlTextWriter
的实例传递给构建特定节的每个内部类,还是每个内部类只需输出XML的字符串表示形式,而外部类可以将它们组合在一起?
我已经把一个小例子来帮助说明...
Public Class PatientInfoBuilder
'Instance of XmlTextWriter pass to each class'
Private writer as XmlTextWriter
'This class builds XML containing Patient first name, last name, etc ..'
Private Class PatientInfo
Private mWriter as XmlTextWriter
'Constructor accepts XmlTextWriter instance'
Public Sub New(ByRef writer as XmlTextWriter)
mWriter = writer
End Sub
Public Sub BuildXML()
mWriter.WriteStartElement('FirstName')
...
...
mWriter.WriteEndElement()
End Sub
End Class
'This class builds a list of patient medications'
Private Class PatientMedications
Private mWriter as XmlTextWriter
'Constructor accepts XmlTextWriter instance'
Public Sub New(ByRef writer as XmlTextWriter)
mWriter = writer
End Sub
Public Sub BuildXML()
mWriter.WriteStartElement('Medication')
...
...
mWriter.WriteEndElement()
End Sub
End Class
End Class
的代码是不完整的,但我希望它给的什么,我试图完成一个想法。我需要找到一种方法来将XML部分收集在一起以作为单个文档输出。我的例子是在VB.NET中,但在C#中的答案也是受欢迎的。感谢您的任何建议。
**请注意,据我所知,有评论尾随撇号。我这样做是为了让颜色编码标记在SO中正确显示。
您使用的是什么版本的.NET?除非你仍然使用.NET 1.1,否则不应该使用'XmlTextWriter'。改为使用'XmlWriter'(和'XmlWriter.Create')。 – 2011-02-25 19:37:13