从c#中的xml文件中提取第一个值

时间:2014-08-22 10:14:57

标签: c# xml

我有一个以:

开头的xml文件
<SAMPLEPROFILE
    Name="File Name"
    Number="2"
    >

我想拉出数字。

以下是我的尝试:

string number = _myXml.GetElementsByTagName("SAMPLEPROFILE").Item(1).Value;

调试时我可以通过将鼠标悬停在_myXml上看到xml文件,但是我看不到数字属性?

3 个答案:

答案 0 :(得分:1)

以下是读取XML并根据需要解析的最简单示例:

static void Main(string[] args)
    {
        ReadXML("Test.xml");
    }
    private static void ReadXML(string filepath)
    {
        try
        {
            string xmlDatapath = filepath;
            string FirstColumn = "";
            string SecondColumn = "";
            string xmlData = File.ReadAllText(xmlDatapath);
            StringReader stream = new StringReader(xmlData);
            XmlTextReader reader = new XmlTextReader(stream);
            DataSet xmlDS = new DataSet();
            xmlDS.ReadXml(reader);
            FirstColumn = xmlDS.Tables[0].Rows[0][0].ToString();
            SecondColumn = xmlDS.Tables[0].Rows[0][1].ToString();
        }
        catch (Exception ex)
        {

        }
    }

这是Test.xml

<?xml version="1.0" encoding="utf-8" ?>
<SAMPLEPROFILE  
Name="File Name"
Number="2"  
/>

答案 1 :(得分:0)

尝试类似

的内容
string number = _myXml.GetElementsByTagName("SAMPLEPROFILE").Attributes["Number"].Value;

答案 2 :(得分:0)

Item索引从0而不是1开始,而Number是属性而不是元素的值:

string number = _myXml.GetElementsByTagName("SAMPLEPROFILE")
                      .Item(0)
                      .Attributes["Number"]
                      .Value;

我认为你正在使用XmlDocument因为它有GetElementsByTagName()方法。