加载xml并获取xml节点值

时间:2014-02-12 08:45:48

标签: c# xml xmlnode

您好我的Windows窗体应用程序中有一个xml。我想获得一个节点值。它是非常基本的,并且有许多方法可以让我知道,但是wuestion是我的xml甚至没有加载。当我调试时,在此行之后

xml.LoadXml(xmlPath);

程序完全拒绝进入下一行。这是我的完整代码。

XmlDocument xml = new XmlDocument();
string xmlPath = "settings.xml";
xml.LoadXml(xmlPath);
txtPass.Text = xml.SelectSingleNode("settings/user-settings/pass").InnerText.ToString();

编辑:我也试过xml.Load(),但我有同样的问题。

2 个答案:

答案 0 :(得分:1)

那是因为LoadXml并不意味着加载文件而是加载XML内容。

Source

答案 1 :(得分:0)

Xml文件名是“CompSpecs”

{
                        string path = @"";
                        FileStream READER = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Set up the filestream (READER) //
                        System.Xml.XmlDocument CompSpecs = new System.Xml.XmlDocument();// Set up the XmlDocument (CompSpecs) //
                        CompSpecs.Load(READER); //Load the data from the file into the XmlDocument (CompSpecs) //
                        System.Xml.XmlNodeList NodeList = CompSpecs.GetElementsByTagName("CompSpecs"); 
                        textBox1.Text = NodeList[0].FirstChild.NextSibling.ChildNodes[0].InnerText; 
}

我的XML文件

<?xml version="1.0" ?> 
- <CompSpecs>
- <CP>
  <Type>intel Hp Core2DU</Type> 
  <RAM>4GBszz</RAM> 
  <CPU_Speed>3.8Ghz</CPU_Speed> 
  </CP>
- <CP>
  <Type>intel dell</Type> 
  <RAM>4GB</RAM> 
  <CPU_Speed>3.8Ghz</CPU_Speed> 
  </CP>
  </CompSpecs>