【发布时间】:2018-12-23 11:41:51
【问题描述】:
我正在尝试使用 C# 将嵌套 XML 文件读取到单个数据集,并尝试使用 Linq 和 XDocument,但没有找到任何运气,所以有人可以帮助我解析 XML 文件并提前致谢。
XDocument doc = XDocument.Load(filenamepath);
XNamespace ns = doc.Root.GetDefaultNamespace();
DataTable dt = new DataTable();
dt.Columns.Add("Shipment ID", typeof(string));
dt.Columns.Add("Delivery Number", typeof(string));
XElement referenceNumber = doc.Descendants(ns + "ReferenceNumber").FirstOrDefault();
string shipmentID = (string)referenceNumber.Element(ns + "Shipment ID");
string deliveryNumber = (string)referenceNumber.Element(ns + "Delivery Number");
【问题讨论】:
-
您有一个非常复杂的 xml 文件,没有架构。它需要一个自定义解析器!!!使用标准 DataSet ReadXML 文件仅适用于有限数量的后代。数据集方法使用根标签作为数据集名称。下一级标签是数据表名称。第三级标签是列名。第 4 级标签是行数据。一旦您拥有多个或多个级别的标签,dataset 方法会将数据集分成无法重新组合成可用格式的片段。如果您需要解析 xml 的部分,我可以提供帮助,但它会花一整天的时间让我完成整个文件。
-
这里的预期输出是什么?我只看到两个唯一的货件编号/交货编号,BH30005632 / 0860017651 和 BH30005633 / 0860017652。那么你想要一个包含两行的数据表吗?
-
我同意这是一个非常复杂的 XML 文件。假设父节点 Shipments & Plan 我需要 2 个数据表,它们将循环通过子节点引用 Numbers ..etc
标签: c# xml-parsing