<?xml version="1.0" encoding="UTF-8"?>
<root>
<root1>
  <InvestmentType>Investment</InvestmentType> 
  <ContentType>Universe</ContentType> 
 
</root1>
<List>
  <name>112</name> 
  <number>10024</number> 
<book>
  <Time>2004-09-17 04:38</Time> 
 </book>
<book>
  <Time>2004-09-17 04:38</Time> 
  <Status>1</Status> 
</book>
</List>
</root>
  
 ---------
想取出<number>10024</number> 中的10024这个值,
然后再一循环取<book>
  <Time>2004-09-17 04:38</Time> 
  <Status>1</Status> 
</book>
bookk 中time和status的值,但有时status并不会一定出现,

解决方案 »

  1.   

    System.Xml.XmlDocument doc = new XmlDocument();
    doc.Load(//xml文件);
    XmlNodeList nodeList = doc.DocumentElement.SelectNodes("//List");
    foreach(XmlNode node in nodeList)
    {
    String strNumber = String.Empty;
     XmlNode nodeNumber = node.SelectSingleNode("./number");
    strNumber = nodeNumber.Value;
    XmlNodeList nodeListBook = node.SelectNodes("./book");
    foreach(XmlNode subNode in nodeListBook)
    {
    String strTime = String.Empty;
    String strStatus = String.Empty;
    XmlNode nodeTime = subNode.SelectSingleNode("./Time");
    if(nodeTime!=null)
    strTime = nodeTime.Value;
    XmlNode nodeStatus = subNode.SelectSingleNode("./Status");
    if(nodeStatus!=null)
    strStatus = nodeStatus.Value;
    }
    }
      

  2.   

    http://blog.csdn.net/lizanhong/archive/2004/06/23/24374.aspx
      

  3.   

    String strNumber = String.Empty;
     XmlNode nodeNumber = node.SelectSingleNode("./number");
    strNumber = nodeNumber.Value;
    取不出来,为null?what?
      

  4.   

    可以了,strTime = nodeTime.InnerText 这样就行了,
    结贴还想问一问,如果我这样数据挺大的,我二三行条,我这样循环好不好,如果不行,用哪种方法比较好
      

  5.   

    http://chs.gotdotnet.com/quickstart/howto/doc/Xml/QueryXmlDocumentXPath.aspx