我发布了一个关于这个主题的问题,但没有运气,所以这里是:
我有一个 asmx Web 服务,通过该 Web 服务,我使用给定的 XSD 模式解析给定的 XML 文档。我以某种方式解析 XML 文档,首先将 XML 转换为字符串,然后将其放入 DataSet。我正在解析数据集并将数据传递给数据库。
我有一个小问题,我有这个复杂的节点:
<QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit>
我必须使用 xsd 提取“KO”和“288.000”值,我编写了以下代码:
if (!dr_art_line.Table.Columns.Contains("QuantityInIssueUnit") || dr_art_line["QuantityInIssueUnit"].ToString().Length <= 0)
{
QuantityInIssueUnit.Value = 0;
QuantityInIssueUnit.uom = "";
}
else
{
QuantityInIssueUnit.Value = Convert.ToDecimal(dr_art_line["QuantityInIssueUnit"]);
QuantityInIssueUnit.Value = QuantityInIssueUnit.Value.ToString().Length > 15 ? Convert.ToDecimal(QuantityInIssueUnit.Value.ToString().Substring(0, 14)) : QuantityInIssueUnit.Value;
QuantityInIssueUnit.uom = Convert.ToString(dr_art_line["QuantityInIssueUnit uom"]);
}
但是,它不起作用,我假设没有节点“QuantityInIssueUnit”,它总是 0...
那么有没有办法写这个但使用DataRow?