如何使用c#获取xml .text

时间:2012-05-07 07:56:45

标签: c# xml xmldocument xmlreader

这是我的xml文件

<TEST>
  <Project_Name>browser</Project_Name>  

      <Setting BrowserKind ="Firefox" ></Setting>   

      <ExecuteUrl>http://yahoo.com</ExecuteUrl>

  <caseBox>      
     <test1>apple</test1>
  </caseBox>
</TEST>

这个xml意味着什么,这是一个例子。我只是想做一些练习。

这里有三件我想要的东西:

(1)的Firefox

(2)http://yahoo.com

(3)苹果

我使用xmldocument,但失败了,我完全没有。

我怎么能得到它们?

感谢。

这是我获得firefox的测试

这是我的代码:

       XmlDocument XmlDoc = new XmlDocument( );
       XmlDoc.Load(here I PLACE THE LOCATION OF FILE);
       XmlNodeList NodeLists = XmlDoc.SelectNodes("TEST/Setting");


        foreach (XmlNode OneNode in NodeLists)
        {

            String StrAttrValue1 = OneNode.Attributes[" Browserkind "].Value;
            String StrAttrValue2 = OneNode.InnerText;
        }

3 个答案:

答案 0 :(得分:0)

如果切换到LINQ to XML是一个选项,而不是旧的Xml API,我会这样做。

var doc = XDocument.Parse(@"<TEST>
  <Project_Name>browser</Project_Name>  

      <Setting BrowserKind =""Firefox"" ></Setting>   

      <ExecuteUrl>http://yahoo.com</ExecuteUrl>

  <caseBox>      
     <test1>apple</test1>
  </caseBox>
</TEST>");


var result = (from test in doc.Elements("TEST")
              select new { BrowserKind = test.Element("Setting").Attribute("BrowserKind").Value,
                           ExecuteUrl = test.Element("ExecuteUrl").Value,
                           CaseBox = test.Element("caseBox").Element("test1").Value });

答案 1 :(得分:0)

Xml区分大小写,因此要获取BrowserKind属性,“browserkind”将无效。它必须与名称完全匹配。

尝试使用xml文档:

String apple = doc.DocumentElement["caseBox"]["test1"].InnerText;

答案 2 :(得分:0)

当你写属性名称“Browserkind”时似乎有额外的空格..尝试删除它们。我希望它有所帮助