是否可以将 XML 文档转换为表格以动态显示。由于我的程序在执行期间生成 XML,我需要以表格的形式显示 xml 文档的内容。到目前为止,我正在使用 xmlreader 解析文档并将它们静态放入数据网格中。有没有更好的方法来做到这一点。?
问问题
2612 次
1 回答
2
数据集对象有一个“ReadXml(string filename)”方法。
示例 XML products.xml:
<?xml version="1.0" encoding="utf-8"?>
<Products>
<Product id="1">
<Name>Product Name</Name>
</Product>
<Prodcut id="2">
<Name>Another Product</Name>
</Product>
</Products>
C# 片段:
DataSet myXmlDataSet = new DataSet();
myXmlDataSet.ReadXml("products.xml");
DataTable productTable = myXmlDataSet("Product");
虽然这可行,但我通常更喜欢将我的 xml 放入 POCO 并使用业务对象的集合填充 UI 网格。如果数据源发生变化(您将其移至 SQL 或其他数据源),您只需替换该数据访问组件即可。System.Xml.Linq 中的 XDocument 非常方便地执行此操作。
var xmlDoc = XDocument.Load("products.xml");
var productNodes = xmlDoc.Root.Elements("Product");
var prodList = productNodes.Select(prod => new Product()
{
id = int.Parse(prod.Attribute("id").Value),
Name = drug.Element("Name")
})
.ToList();
于 2012-04-30T16:07:44.390 回答