我知道这是一个模糊的开放式问题.我希望得到一些大方向.
我需要将cXML打孔添加到ASP.NET C#站点/应用程序.这正在取代我多年前在ColdFusion中写的东西.
我是一位经验丰富的C#开发人员,但我对XML做的并不多.在.NET中处理XML似乎有很多不同的选择.
这是开放式问题:假设我有某种形式的XML文档,例如文件或字符串,将它读入我的代码的最佳方法是什么?我想获取数据,然后查询数据库等.cXML文档大小和我们的流量很小,所以将cXML文档加载到内存中不是问题.
我是不是该:
1)基于dtd手动构建类并使用XML Serializer?
2)使用工具生成类.有可从Ariba.com下载的示例cXML文件.我尝试使用xsd.exe生成xsd,然后使用xsd.exe/c生成类.当我尝试反序列化时,我得到错误,因为似乎有些"混淆"是否某些元素应该是单个值还是数组.
我尝试了CodeXS在线工具,但如果我尝试反序列化示例文档,则会在其日志和错误中出错.
2)创建数据集和ReadXml()?
3)创建一个类型化的数据集和ReadXml()?
4)使用Linq到XML.我经常使用Linq来对象,所以我对Linq很熟悉但是我很难看到它在这种情况下给我的东西.
5)其他一些手段.
我想我需要提高我对XML的理解,但即便如此......我是否错过了一些明显的方法呢?在旧的ColdFusion站点中,我发现了一个免费组件("标签"),它基本上忽略了任何模式,并将XML读入"结构",这本质上是一系列嵌套的哈希表,然后在代码中易于阅读.这可能很邋but但它确实奏效了.
我还需要从C#对象生成XML文件.也许Linq to XML会对此有所帮助.我可以从默认的"模板"文档开始并在保存之前对其进行操作.
谢谢你的任何指示......
归档时间: |
|
查看次数: |
2617 次 |
最近记录: |