我想知道如何读取包含库存项目的 xml 文件并解析它的嵌套表以总结每个库存项目的值。
因此,例如我的 xml 文件存储在 C:\Temp\StockBalances.xml 并包含以下内容:
<Message>
<MessageName>string</MessageName>
<MessageCreatedDate>2012-10-03</MessageCreatedDate>
<StockCodes>
<StockCode>
<OwnerAccountCode>string</OwnerAccountCode>
<StockCode>12345</StockCode>
<Description>string</Description>
<MoreItems>More Items here</MoreItems>
<Balances>
<Balance>
<WarehouseName>Warehouse 1</WarehouseName>
<Quantity>47</Quantity>
<QuantityFree>-2848</QuantityFree>
</Balance>
<Balance>
<WarehouseName>Warehouse 2</WarehouseName>
<Quantity>3396</Quantity>
<QuantityFree>748</QuantityFree>
</Balance>
</Balances>
</StockCode>
<StockCode>
<OwnerAccountCode>string</OwnerAccountCode>
<StockCode>12346</StockCode>
<Description>string</Description>
<MoreItems>More Items here</MoreItems>
<Balances>
<Balance>
<WarehouseName>Warehoue 1</WarehouseName>
<Quantity>1806</Quantity>
<QuantityFree>4731</QuantityFree>
</Balance>
<Balance>
<WarehouseName>Warehouse 3</WarehouseName>
<Quantity>493</Quantity>
<QuantityFree>1867</QuantityFree>
</Balance>
<Balance>
<WarehouseName>Warehouse 22</WarehouseName>
<Quantity>716</Quantity>
<QuantityFree>-3575</QuantityFree>
</Balance>
<Balance>
<WarehouseName>Warehouse 24</WarehouseName>
<Quantity>-4478</Quantity>
<QuantityFree>-4952</QuantityFree>
</Balance>
</Balances>
</StockCode>
</StockCodes>
</Message>
因此,对于 StockCodes 中的每个 StockCode,我需要总结 Balances 表中的 Quantity 字段。
我之前曾尝试通过将 xml 文件读入数据集来实现这一点,该数据集确实有效,但是库存项目记录和余额表之间没有线,并且余额记录可以是动态的。因此,对于一个股票代码,可能有三个余额记录,另一个可能有四个记录。
xmlFile = XmlReader.Create(strExportFileName, New XmlReaderSettings())
Dim ds As New DataSet
' Read the file in to a dataset
ds.ReadXml(xmlFile)
' Close the file
xmlFile.Close()