<DiscountInfo>
    <Number>1</Number>
    <FlightNO>ZH9683</FlightNO>
    <Class>Z</Class>
    <Discount>55</Discount>
    <Nums>A</Nums>
    <Price>380</Price>
    <ClassType>常规</ClassType>
    <PolicyID />
    <IsPAT>0</IsPAT>
    <PATCmd />
    <Area />
    <IsChild>0</IsChild>
  </DiscountInfo>
  <DiscountInfo>
    <Number>1</Number>
    <FlightNO>ZH9683</FlightNO>
    <Class>G</Class>
    <Discount>51</Discount>
    <Nums>A</Nums>
    <Price>350</Price>
    <ClassType>常规</ClassType>
    <PolicyID />
    <IsPAT>0</IsPAT>
    <PATCmd />
    <Area />
    <IsChild>0</IsChild>
  </DiscountInfo>
  <DiscountInfo>
    <Number>2</Number>
    <FlightNO>ZH9683</FlightNO>
    <Class>V</Class>
    <Discount>45</Discount>
    <Nums>A</Nums>
    <Price>310</Price>
    <ClassType>常规</ClassType>
    <PolicyID />
    <IsPAT>0</IsPAT>
    <PATCmd />
    <Area />
    <IsChild>0</IsChild>
  </DiscountInfo>我想取
  <DiscountInfo>
    <Number>1</Number>
    <FlightNO>ZH9683</FlightNO>
    <Class>Z</Class>
    <Discount>55</Discount>
    <Nums>A</Nums>
    <Price>380</Price>
    <ClassType>常规</ClassType>
    <PolicyID />
    <IsPAT>0</IsPAT>
    <PATCmd />
    <Area />
    <IsChild>0</IsChild>
  </DiscountInfo>
  <DiscountInfo>
    <Number>1</Number>
    <FlightNO>ZH9683</FlightNO>
    <Class>G</Class>
    <Discount>51</Discount>
    <Nums>A</Nums>
    <Price>350</Price>
    <ClassType>常规</ClassType>
    <PolicyID />
    <IsPAT>0</IsPAT>
    <PATCmd />
    <Area />
    <IsChild>0</IsChild>
  </DiscountInfo>
用这个标示怎么判断?

解决方案 »

  1.   

    用这个<Number>1</Number>去判断
      

  2.   

    为什么不将数据读到table 列表之类的里面去,然后再通过条件查找,筛选要比处理这个XML好吧。
      

  3.   

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("XML文件");
     pram1 = doc.SelectSingleNode("/Number"); 
      

  4.   

    你这个xml是不能直接创建xml对象的,必须有跟节点。
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(@"<Root>
      <DiscountInfo>
      <Number>1</Number>
      <FlightNO>ZH9683</FlightNO>
      <Class>Z</Class>
      <Discount>55</Discount>
      <Nums>A</Nums>
      <Price>380</Price>
      <ClassType>常规</ClassType>
      <PolicyID />
      <IsPAT>0</IsPAT>
      <PATCmd />
      <Area />
      <IsChild>0</IsChild>
      </DiscountInfo>
      <DiscountInfo>
      <Number>1</Number>
      <FlightNO>ZH9683</FlightNO>
      <Class>G</Class>
      <Discount>51</Discount>
      <Nums>A</Nums>
      <Price>350</Price>
      <ClassType>常规</ClassType>
      <PolicyID />
      <IsPAT>0</IsPAT>
      <PATCmd />
      <Area />
      <IsChild>0</IsChild>
      </DiscountInfo>
      <DiscountInfo>
      <Number>2</Number>
      <FlightNO>ZH9683</FlightNO>
      <Class>V</Class>
      <Discount>45</Discount>
      <Nums>A</Nums>
      <Price>310</Price>
      <ClassType>常规</ClassType>
      <PolicyID />
      <IsPAT>0</IsPAT>
      <PATCmd />
      <Area />
      <IsChild>0</IsChild>
      </DiscountInfo>
    </Root>");
                XmlNodeList nodes = xmlDoc.SelectNodes("//DiscountInfo[./Number = '1']");
                foreach (XmlNode node in nodes)
                {
                    MessageBox.Show(node.InnerXml);
                }        
      

  5.   

    http://blog.csdn.net/jsyhello/article/details/6892670
      

  6.   

    其实 我就是想取DiscountInfo不同<Number>1</Number>节点下Price、
    我想先取所有<Number>1</Number> 的字符串
    str   //这里不知道怎么取了
    然后
    string a = XDocument.Parse(str).Descendants("DiscountInfo").OrderBy(x => Convert.ToInt32(x.Element("Price").Value)).First().ToString();
    就可以了
      

  7.   

    DiscountInfo不同<Number>1</Number>节点下最小Price、
      

  8.   

    用Xpath直接找Price节点不就好了吗?
    XmlNodeList nodes = xmlDoc.SelectNodes("//DiscountInfo[./Number = '1']/Price");再对这个nodes遍历取最小值即可。