Getting data from xml by attribute value C# using

2019-09-11 23:37发布

问题:

I have a file with the following content (myfile.xml). I have to get all content coming under (including product node) a product with id=1.

<products>  
  <product id="1">
       <category>q</category>  
  </product>    
  <product id="2">      
       <category>w</category>    
  </product>   
  <product id="3">       
  <category>e</category>   
 </product>
</products>`

i.e. the result should be :

 <product id="1"> 
      <category>q</category>
  </product> 

How can I do this?

I have the restriction that I should use XmlTextReader or XPathNavigator only for this, otherwise I could have used this : Getting data from xml by attribute vlaue

回答1:

Wouldn't XmlReader.GetAttribute() work?

http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.getattribute(v=vs.100)

Add in some Skip() to move the iterator:

http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.skip(v=vs.100)