XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
- XQuery Help and Discussion (2017)
-> + Issue with Processing Instruct... (2)
-> + problem converting json to XML... (2)
-> + Problem base64 decoding string... (3)
-> + Problems posting multipart for... (5)
-> + trouble with download of price... (2)
-> + Problem with http-post not bei... (3)
-> + path problem, xps_file:writeAl... (9)
-> + Xquery update support? (2)
-> + problem with Stylus studio try... (5)
-> + adding dtd reference to xml ou... (4)
-> + xquery escaping ambarsand when... (3)
-> + Whitespace problem when return... (5)
-> + Problem with namespace prefix ... (5)
-> - Sending via SFTP returns unexp... (1)
-> + Query and Sftp clent (4)
-> + xquery and try - catch (3)
-> + Query + ddtek:http-post optio... (5)
-> + Example files referenced in do... (3)
-> + Automatic Error Detection and ... (3)
-> + Working with result of ddtek:h... (2)
-- [1-20] [21-40] [41-60] Next
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
farshad farzanSubject: full xpath to a node
Author: farshad farzan
Date: 17 Jan 2006 09:30 PM
I have an IXMLDOMNode variable called foo ,
that gets pointed by the user in the document.
I want to have a way to find the full xpath to this node.

for example,


<a> <b> <c> test </c> </b> </a>

let's say foo.nodeName shows >>> c

how can I get the full xpath to c i.e /a/b/c

Postnext
Tony LavinioSubject: full xpath to a node
Author: Tony Lavinio
Date: 18 Jan 2006 09:07 AM
This isn't really a Stylus Studio question, but if you go to
http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/89337bfc-c5a7-44bc-9e98-cbf2363ac42c.asp
you can see that you can fetch the name of the current node with
the 'nodeName' method, and then iterate, each time walking up the
tree one level with the 'parentNode' method. By concatenating
together the names with '/' in between, you can build your path.

Posttop
farshad farzanSubject: full xpath to a node
Author: farshad farzan
Date: 18 Jan 2006 08:39 PM
thanks for your response, I found a code writen in pyton, and I converted it to csharp , however,
it works for an element but not for attribute.. node.OwnerElement gives me error. !

public string findfullpath( IXMLDOMNode node)
{
IXMLDOMNode previous, ancestor;
string step ;
int count;
ancestor = null;
step = "";

if (node.nodeType == (DOMNodeType) 1 ) //NODE_ELEMENT
{
count = 1;
previous = node.previousSibling;
while ( previous != null)
{
if ( previous.baseName == node.baseName ) count += 1;
previous = previous.previousSibling;
// step = node.nodeName+"["+ count+"]";
step = node.nodeName;
ancestor = node.parentNode;
}
}

else if ( node.nodeType == (DOMNodeType) 2) // NODE_ATTRIBUTE
{
step = node.nodeName;

ancestor = node.OwnerElement ;
count = 1;
previous = node.previousSibling;
while ( previous != null)
{
if ( previous.nodeType == node.nodeType) count += 1;
previous = previous.previousSibling;
ancestor = node.parentNode;
}
ancestor = node;
}
if ( ancestor.parentNode != null)
return findfullpath(ancestor) + "/" + step;
else
return "/" + step;

}

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.