xpath attribute help

admin

Administrator
Staff member
Calling Xpath experts for help...

I have a sitemap file where the page nodes (siteMapNode) have an attribute "displayinmenu". (See below for abbreviated structure.) The first siteMapNode is the Home page. I want to retrieve the nodes under the Home page with the decendant structure intact, but I only want nodes that have displayinmenu=true. siteMap/siteMapNode/siteMapNode[@displayinmenu='true'] returns the nodes I want (Products and Support but not Sitemap), but the decendants of those nodes still include displayinmenu=false. How can I get the results I am looking for?


<?xml version="1.0" encoding="utf-8"?>
<siteMap>
<siteMapNode title="Home" description="Home" url="/index.aspx" displayinmenu="false" displayinmap="true">
<siteMapNode title="Products" description="Products" url="/Products/index.aspx" displayinmenu="true" displayinmap="true">
<siteMapNode title="Overview" description="Products Overview" url="/Products/index.aspx?v=2" displayinmenu="true" displayinmap="true" />
<siteMapNode title="Product One" description="Product One" url="/Products/prod1.aspx" displayinmenu="true" displayinmap="true">
<siteMapNode title="Product One Package One" description="Product One Package One" url="/Products/prod1pack1.aspx" displayinmenu="true" displayinmap="true">
<siteMapNode title="Product One Package One Detail One" description="Product One Package One Detail One" url="/Products/prod1pack1detail1.aspx" displayinmenu="false" displayinmap="false" />
<siteMapNode title="Product One Package One Detail Two" description="Product One Package One Detail Two" url="/Products/prod1pack1detail2.aspx" displayinmenu="false" displayinmap="false" />
</siteMapNode>
</siteMapNode>
<siteMapNode title="Resources" description="Resources" url="/Products/Resources/index.aspx" displayinmenu="false" displayinmap="false">
<siteMapNode title="System Requirements" description="System Requirements" url="/Products/Resources/requirements.aspx" displayinmenu="false" displayinmap="false" />
<siteMapNode title="Architecture" description="Architecture" url="/Products/Resources/architecture.aspx" displayinmenu="false" displayinmap="false" />
<siteMapNode title="Support" description="Support" url="/Support/" displayinmenu="true" displayinmap="false" />
<siteMapNode title="Technical White Papers" description="Technical White Papers" url="/Products/Resources/whitepapers.aspx" displayinmenu="false" displayinmap="false" />
</siteMapNode>
<siteMapNode title="Request Info" description="Request Info" url="/requestinfo.aspx?path=products" displayinmenu="true" displayinmap="false" />
</siteMapNode>
<siteMapNode title="Support" description="Support" url="/Support/index.aspx" displayinmenu="true" displayinmap="true" />
<siteMapNode title="Sitemap" description="Sitemap" url="/sitemap.aspx" displayinmenu="false" displayinmap="true" />
</siteMapNode>
</siteMap>


Thanks!
 
Back
Top