如何获取根元素的值(没有.Net 4)

时间:2015-02-03 10:29:24

标签: c# xml

我们如何读取xml根元素的属性值?我使用以下代码

<?xml version="1.0" encoding="utf-8"?>    
<!DOCTYPE article PUBLIC "-//NPGSJ//DTD full length article DTD version  
[
<!ENTITY xobx1 SYSTEM "abcx1.pdf" NDATA pdf>
]
<article id="abc" type="a">
<fm>
</fm>
<article>

我需要读取此xml文件,并希望将article标签的属性值存储在某个字符串中以检查文章的类别。

请指导

3 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

//You can replace "C:" with your specified path
XDocument xdoc = XDocument.Load(@"C:\yourxmlfilename.xml");
var root_attribure1 = xdoc.Root.Attribute("id").Value;
var root_attribure2 = xdoc.Root.Attribute("type").Value;

答案 1 :(得分:1)

有效。

        var x = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+    
                "<article id=\"abc\" type=\"a\">"+
                    "<fm>"+
                    "</fm>"+
                "</article>";

        var doc = new XmlDocument();
        doc.LoadXml(x);
        var id = doc.SelectSingleNode("/article/@id").Value;
        var type = doc.SelectSingleNode("/article/@type").Value;

答案 2 :(得分:1)

我找到了解决方案。

static void Main(string[] args) 
{ 
    XmlDocument xdoc = new XmlDocument(); 
    xdoc.Load(@"C:\Temp\emi20154a.xml"); 
    string root_attribure1 = xdoc.DocumentElement.Attributes[0].Value;
    string root_attribure2 = xdoc.DocumentElement.Attributes[1].Value; 

    Console.WriteLine("root_attribure1" + root_attribure1); 
    Console.WriteLine("root_attribure2" + root_attribure2); 

    Console.ReadLine(); 
}