complex Xpath into Linq to XML -


my input xml:

....     <node attribute1 = "guid1">         <childnode1 attributechildnode= var1> </childnode>         <childnode2 attributechildnode= var2> </childnode>     </node>     <node attribute1 = "guid2">         <childnode3 attributechildnode= var3> </childnode>         <childnode4 attributechildnode= var4> </childnode>     </node> .... 

my xpath code looks this

mynodelist = xmldoc.selectnodes(".//node[@attribute1 ='" & varstring1 &'']/nodechild[@attributechildnode1 = ''& varstring2 &'']") 

i have no idea how linq xml code should same result can please me

you can still use xpath using xdocument , linq xml;

var doc = xdocument.load(filepath); var mynodelist = doc.xpathselectelements(".//node[@attribute1 ='" & varstring1 &'']/nodechild[@attributechildnode1 = ''& varstring2 &'']"); 

xpathselectelements declared extension method on xnode, within system.xml.xpath namespace.

standard linq xml version

input xml:

<root>     <node attribute1="guid1">         <childnode attributechildnode1="var1" attributechildnode2="result1"></childnode>         <childnode attributechildnode1="var2" attributechildnode2="result2"></childnode>     </node>     <node attribute1="guid2">         <childnode attributechildnode1="var3" attributechildnode2="result3"></childnode>         <childnode attributechildnode1="var4" attributechildnode2="result4"></childnode>     </node> </root> 

query:

string guid = "guid1"; string var = "var1";  var elements = xelement.load("input.txt");  var value = (from node in elements.elements("node")              (string)node.attribute("attribute1") == "guid1"              childnode in node.elements()              (string)childnode.attribute("attributechildnode1") == "var1"              select (string)childnode.attribute("attributechildnode2")).firstordefault(); 

returns result1 - result4, depending on guid , var variables values.


Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -