このトピックに関する質問を投稿しましたが、うまくいきませんでした。
私は asmx Web サービスを持っています。その Web サービスを使用して、特定の XSD スキーマを使用して特定の XML ドキュメントを解析します。最初に XML を文字列に変換し、次にそれを DataSet に入れるという方法で XML ドキュメントを解析します。私はデータセットを解析していて、それでデータをデータベースに渡します。
少し問題があります。この複雑なノードがあります。
<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 を使用していますか?