|
|
 |
There are two standard formats to specify patterns for searching nodes in the DOMDocument tree: XSLT Patterns and XPath. The XPath format is richer than the XSLT Patterns, and supports many XSLT Patterns. XSLT Patterns are the default. To change to XPath, you need to change the selectionLanguage. Here is a demo:
function applyPatterns() {
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("mydvd7.xml");
xmlDoc.setProperty("SelectionLanguage", "XPath");
var matchedNodes = xmlDoc.selectNodes('/sales//month');
alert("Number of matched nodes: " + matchedNodes.length);
}
Try it. You should get three nodes, for the three months reported in our mydvd7.xml file:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="mydvd7.xsl"?>
<!DOCTYPE sales SYSTEM "mydvd7.dtd">
<sales>
<summary>
<heading>MyDVD Rental Store</heading>
<subhead>Periodical Sales Report</subhead>
<description>Sales Report for January, February,
and <&month;> of 2001</description>
<author>author: &preparedby;</author>
<date>Jan 30, 2002</date>
</summary>
<data>
<month>
<name>January 2001</name>
<week number="1" dvds_rented="12000" />
<week number="2" dvds_rented="15000" />
<week number="3" dvds_rented="18000" />
<week number="4" dvds_rented="11800" />
</month>
<month>
<name>February 2001</name>
<week number="1" dvds_rented="11500" />
<week number="2" dvds_rented="12390" />
<week number="3" dvds_rented="19050" />
<week number="4" dvds_rented="11200" />
</month>
<month>
<name>March 2001</name>
<week number="1" dvds_rented="15300" />
<week number="2" dvds_rented="12390" />
<week number="3" dvds_rented="10050" />
<week number="4" dvds_rented="11230" />
</month>
</data>
</sales>
People who read this tip also read these tips:
Look for similar tips by subject:
|