2017-04-09 116 views
-2

目前我试着去阅读,没有sucess一个XML属性,到目前为止,我得到的是:属性值读取?

 XmlDocument _doc = new XmlDocument(); 
     _doc.LoadXml(@"<DATA jsonclass=""array""> 
     <ROW id=""1""> 
      <D n=""697""/> 
      <D n=""2601"">10815</D> 
      <D n=""3242""/> 
      <D n=""3243"">2017-03-15 00:00:00.0</D> 
      <D n=""3245"">+</D> 
      <D n=""3274""/> 
      <D n=""4895"">USD</D> 
     </ROW> 
     <ROW id=""1""> 
      <D n=""697""/> 
      <D n=""2601"">10816</D> 
      <D n=""3242""/> 
      <D n=""3243"">2017-03-15 00:00:00.0</D> 
      <D n=""3245"">+</D> 
      <D n=""3274""/> 
      <D n=""4895"">USD</D> 
     </ROW> 
     </DATA>"); 


     XmlNodeList elemLista = _doc.GetElementsByTagName("D"); 
     for (int i = 0; i < elemLista.Count; i++) 
     { 
      string attrVal = elemLista[i].Attributes["n"].Value; 

      //this is returnig 2601 and Im looking for **10816** 
      Console.WriteLine(attrVal); 

      //  Req.RequestAllPOAvailable();` 



     } 
    } 

我期待获得10815和10816,但结果是一样的....输出仍然2601,我做错了什么?感谢您的帮助

+0

你所得到的值属性'n'并返回属性'n'的值。我看不出有什么问题。 –

回答

2

你得到2601的原因是,你得到的n的值属性,你需要得到elment的内文:

XmlDocument _doc = new XmlDocument(); 
     _doc.LoadXml(@"<DATA jsonclass=""array""> 
     <ROW id=""1""> 
      <D n=""697""/> 
      <D n=""2601"">10815</D> 
      <D n=""3242""/> 
      <D n=""3243"">2017-03-15 00:00:00.0</D> 
      <D n=""3245"">+</D> 
      <D n=""3274""/> 
      <D n=""4895"">USD</D> 
     </ROW> 
     <ROW id=""1""> 
      <D n=""697""/> 
      <D n=""2601"">10816</D> 
      <D n=""3242""/> 
      <D n=""3243"">2017-03-15 00:00:00.0</D> 
      <D n=""3245"">+</D> 
      <D n=""3274""/> 
      <D n=""4895"">USD</D> 
     </ROW> 
     </DATA>"); 


     XmlNodeList elemLista = _doc.GetElementsByTagName("D"); 
     for (int i = 0; i < elemLista.Count; i++) 
     { 
      string attrVal = elemLista[i].InnerText; 

      //this is returnig 2601 and Im looking for **10816** 
      Console.WriteLine(attrVal); 

      //  Req.RequestAllPOAvailable();` 



     } 
+0

哦,我的....谢谢! – AFF