Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从XML节点提取值_C#_Xml - Fatal编程技术网

C# 从XML节点提取值

C# 从XML节点提取值,c#,xml,C#,Xml,我有一个xml文件,我必须读取它并将节点中的值提取到一些变量中,我遇到一个节点,我不知道如何提取数据,这是一个节点: <QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit> 288.000 所以我必须提取KO和288.00并将其传递给变量,我尝试了以下方法: if (!dr_art_line.Table.Columns.Contains("QuantityInIssueUnit") || d

我有一个xml文件,我必须读取它并将节点中的值提取到一些变量中,我遇到一个节点,我不知道如何提取数据,这是一个节点:

<QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit> 
288.000
所以我必须提取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”)|
dr_art_line[“QuantityInIssueUnit”]。ToString()。长度DOCUMENT.xml

<ROOT>
    < . . . >
    <QuantityInIssueUnit uom="KO">288.000</QuantityInIssueUnit>
    < . . . >
</ROOT>
所以你可以打电话:

ReadFromXml(@"C:\\...\DOCUMENT.xml", "QuantityInIssueUnit");
// Returns 288 as a float

对不起,我可能不知道我不熟悉的与XML交互的一种方式,但为什么您在这里将XML作为一个表进行交互?为什么不使用
XmlDocument
XmlReader
?复制?
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