Reputation: 63
how do i select all Nodes between
"bname="1 Mose" cnumber="1" vnumber="1""
and
"bname="1 Mose" cnumber="3" vnumber="1"" ????
I tried to build an xPath
private String xPathFormatString = "/XMLBIBLE/BIBLEBOOK[@bname='{0}']/CHAPTER[@cnumber='{1}']/VERS[@vnumber='{2}']";
string xPath = String.Format(xPathFormatString, entry.NumberFrom + " " + entry.NameFrom, entry.ChapterFrom, entry.VersFrom);
nodeList = xmlDocument.SelectNodes(xPath);
but i dont know how to select all between two "CHAPTER" /Nodes. Missing something like
betweenNodeList = xmlDocument.SelectAllNodesBetween(xPath1,xPath2);
.
<BIBLEBOOK bname="1 Mose" bnumber="1" bsname="1Mo">
<CHAPTER cnumber="1">
<VERS vnumber="1">A Text </VERS>
</CHAPTER>
<CHAPTER cnumber="2">
<VERS vnumber="1">Another Text </VERS>
</CHAPTER>
<CHAPTER cnumber="3">
<VERS vnumber="1">A third Text </VERS>
</CHAPTER>
</BIBLEBOOK>
Please help :/ Thanks ! :)
Upvotes: 0
Views: 157
Reputation: 89305
You can use and
to combine two conditions for lower and upper limit of cnumber
value, for example (wrapped into lines for readability) :
/XMLBIBLE
/BIBLEBOOK[@bname='1 Mose']
/CHAPTER[@cnumber > 1 and @cnumber < 3]
/VERS[@vnumber=1]
Upvotes: 1