- From: Tabieriu Tatar <ttatar@commercehub.com>
- Date: Tue, 8 Jan 2002 13:45:29 -0500 (EST)
- To: html-tidy@w3.org
I incounter the following issues: <HTML> <BODY> <font size="2" face="Verdana"><a href="testpage.html"><img src="../../rightarrow.jpg"></a></font> </BODY> </HTML> In the HTML above I can find in the DOM the IMG tag I want (the tag with the src attribute containing the string "rightarrow.jpg"). When I try to get the parent of it I receive the FONT tag instead of the anchor tag. >From the othe point of view, I can find the anchor tag on this page, but when I want to get the children of the anchor tag I receive null. The code I used for sharching the IMG TAG is the following: Document doc = response.getDOM(); String tagName = "img"; NodeList nList = doc.getElementsByTagName(tagName); int listLength = nList.getLength(); for ( int i = 0; i < listLength; i++ ) { Node imgNode = nList.item(i); NamedNodeMap allAttributes = imgNode.getAttributes(); Node srcNode = allAttributes.getNamedItem("src"); String srcNodeValue = srcNode.getNodeValue(); System.out.println("\nsrcNodeValue =" + srcNodeValue); // IT PRINTS: srcNodeValue =../../rightarrow.jpg String rightArrow = "rightarrow.jpg"; int index = srcNodeValue.indexOf(rightArrow); if ( index > 0 ) { String currentNodeName = imgNode.getNodeName(); System.out.println("\n current node name is : " + currentNodeName); // IT PRINTS: current node name is : img Node parent = imgNode.getParentNode(); String parentNodeName = parent.getNodeName(); System.out.println("\nparentNodeName = " + parentNodeName); // IT PRINTS: parentNodeName = font INSTEAD OF "a"(ANCHOR TAG) NodeList children = parent.getChildNodes(); int childrenLength = children.getLength(); for ( int j = 0; j < childrenLength; j++ ) { Node childNode = children.item(j); String childNodeName = childNode.getNodeName(); System.out.println("\n children of current tag : " + childNodeName ); // IT PRINTS: children of current tag : img } } The code I used for sharching the IMG TAG is the following: Document doc = response.getDOM(); String tagName = "a"; NodeList nList = doc.getElementsByTagName(tagName); int listLength = nList.getLength(); System.out.println("\n listLength = " + listLength); // IT PRINTS: listLength = 1 for ( int i = 0; i < listLength; i++ ) { Node anchorNode = nList.item(i); NamedNodeMap allAtts = anchorNode.getAttributes(); Node hrefNode = allAtts.getNamedItem("href"); String hrefNodeValue = hrefNode.getNodeValue(); int index = hrefNodeValue.indexOf("testpage.html"); System.out.println("\nindex = " + index); // IT PRINTS: index = 0 if ( index >= 0 ) { System.out.println("\n hrefNodeValue = " + hrefNodeValue); // IT PRINTS: hrefNodeValue = testpage.html NodeList children = hrefNode.getChildNodes(); System.out.println("\nchildren = " + children); // IT PRINTS: children = null INSTEAD OF A NodeList WHICH WOULD CONTAIN AN IMG TAG int childrenLength = children.getLength(); System.out.println("\nchildrenLength = " + childrenLength); for ( int j = 0; j < childrenLength; j++ ) { Node childNode = children.item(j); String childNodeName = childNode.getNodeName(); System.out.println("\n children of Anchor tag : " + childNodeName ); } } } WHEN EACH TAG, IN HTML SOURCE, IS ON A DIFFERENT LINE EVERYTHING WORKS GOOD. (the parent of the IMG tag is the anchor and the child of the anchor is the IMG tag) <HTML> <BODY> <font size="2" face="Verdana"> <a href="testpage.html"> <img src="../../rightarrow.jpg"> </a> </font> </BODY> </HTML>
Received on Wednesday, 9 January 2002 17:06:59 UTC