[英]Adding XML Attributes to a DataSet
我想向下面声明的数据集添加一个属性,该属性的值是该行中字段之一的值。
因此,我想添加如下所示的ID。
<root>
<Table id="GAS-405">
<apple>2009FA</apple>
<orange>3.00</orange>
<pear>BGPR</pear>
<banana>GAS-405</banana>
</Table>
</root>
这将帮助我稍后在应用程序中标识该节点。
这可能吗? 使用XMLDocument这样做更容易吗?
Dim sdaFoo As SqlDataAdapter = New SqlDataAdapter("SELECT BLAH FROM BLAHBLAH", conn)
Dim dsFoo As DataSet = New DataSet()
dsFoo.DataSetName = "apple"
sdaFoo.Fill(dsFoo)
dsFoo.WriteXml("C:\Inetpub\wwwroot\foo.xml")
Dataset.WriteXml()
实际上是一种便捷方法,而不是灵活的XML处理方式。
您需要采取另一种方法。 有几种选择:
如果仅添加单个属性,则可以通过将其作为XDocument
重新打开,然后将该属性添加到必要的元素中,然后再次保存,将其入侵到生成的xml中。 不太优雅,但轻松,有时轻松是最好的。 更好的是,只需使用WriteXml()
将xml放入字符串中,然后将该字符串作为XDocument
加载即可。
直接从查询中生成XML,而不是将其作为数据集。 Sql Server 2005和2008具有一些很好的XML方法,允许您选择一组行作为XML( SELECT ... FOR XML )并指定其外观。
对您的数据集使用XmlSerialization,并使用对序列化过程的自定义控件来注入属性。...这将带来更多的麻烦,而不是值得的。
将属性存储在XML之外的其他位置,并使用某种对象来跟踪它。 不太确定您的代码是什么样的,但这可能是个不错的选择。
使用DataSet
GetXML()
方法可将整个XML作为字符串获取。 然后添加您的自定义属性,并使用StreamWriter
将该字符串写入xml文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.