cancel
Showing results for 
Search instead for 
Did you mean: 

How to go over a Context node

Former Member
0 Kudos

Hello,

I have a Context Node myNode which contains many attributes: first_name, last_name, phone ect.

How do I go over the Node in a while/for loop and query each attribute for it's value for example?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Roy,

wdThis.wdGetContext().getNodeInfo().iterateAttributes();

wil give u the iterator .. Then its all the the same.it.next() will give u the element.

Regards

Bharathwaj

Former Member
0 Kudos

10X. Well, I am able to get the attribute's name but I don't see a method to get it's value... How do I do that?

Answers (3)

Answers (3)

Former Member
0 Kudos

hi Roy,

Hope this will suffice.

Iterator it = wdThis.wdGetContext().getNodeInfo().iterateAttributes();

IWDAttributeInfo attributeInfo = (IWDAttributeInfo)it.next();

wdContext.currentContextElement().getAttributeValue(attributeInfo.getName());

wdComponentAPI.getMessageManager().reportWarning( ""+ wdContext.currentContextElement().getAttributeValue(attributeInfo.getName()));

regards

Bharathwaj

Former Member
0 Kudos

10X

Former Member
0 Kudos

wdContext.node<<Node>>().getElementAt().getAttributeValue()

Regards, Anilkumar

former_member182372
Active Contributor
0 Kudos

Hi,

try something like this:

public static void iterateThroughAttributes(final IWDNode node)
{
	final int size = node.size();
	final IWDNodeInfo nodeInfo = node.getNodeInfo();
	for (int i = 0; i< size; i++)
	{
		final IWDNodeElement element = node.getElementAt( i );
		for (final Iterator it = nodeInfo.iterateAttributes(); it.hasNext(); )
		{
			final IWDAttributeInfo attributeInfo = (IWDAttributeInfo)it.next();
			element.getAttributeValue( attributeInfo.getName() );
		}
	}
}

Regards, Maxim R.

Message was edited by: Armin Reichert

corrected code

Former Member
0 Kudos

And what if the attributes are at the Context root and not inside a node?