从 XML 节点中提取值
本文关键字:提取 节点 XML | 更新日期: 2023-09-27 18:37:04
我有一个xml文件,我必须读取它并将节点中的值提取到某些变量中,我遇到了一个我不知道如何提取数据的节点,这是节点:
<QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit>
所以我必须提取KO和288.00并将其传递给变量,我尝试了这个:
if (!dr_art_line.Table.Columns.Contains("QuantityInIssueUnit") ||
dr_art_line["QuantityInIssueUnit"].ToString().Length <= 0)
{
QuantityInIssueUnit = 0;
}
else
{
QuantityInIssueUnit = Convert.ToDecimal(dr_art_line["QuantityInIssueUnit"]);
{
而这个:
if (!dr_art_line.Table.Columns.Contains("QuantityInIssueUnit uom") || dr_art_line["QuantityInIssueUnit uom"].ToString().Length <= 0)
{
QuantityInIssueUnit_uom = 0;
}
else
{
QuantityInIssueUnit_uom = Convert.ToDecimal(dr_art_line["QuantityInIssueUnit uom"]);
}
但是每次 QuantityInIssueUnit 为 0 时,我知道我在阅读时做错了什么,读取这种节点的 propper 方法是什么?
谢谢!
文档
.xml<ROOT>
< . . . >
<QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit>
< . . . >
</ROOT>
如果这是您的设置,我会使用以下内容:
public static float ReadFromXml(string f, string n)
{
string quantityInIssueUnit;
XmlReader reader = XmlReader.Create(f);
reader.ReadToFollowing(n);
quantityInIssueUnit = reader.ReadInnerXml( );
reader.Close( );
return float.Parse(quantityInIssueUnit);
}
所以你可以打电话:
ReadFromXml(@"C:''...'DOCUMENT.xml", "QuantityInIssueUnit");
// Returns 288 as a float