|
From: Dan C. <dch...@us...> - 2006-06-22 19:16:23
|
Update of /cvsroot/xorm/xorm/src/org/xorm/datastore/xml In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11663/src/org/xorm/datastore/xml Modified Files: Tag: dan-no-jdom W3CDocumentDriver.java Log Message: getElementsByTagName descends deep. Need to filter for only direct descendants in most cases. Index: W3CDocumentDriver.java =================================================================== RCS file: /cvsroot/xorm/xorm/src/org/xorm/datastore/xml/W3CDocumentDriver.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** W3CDocumentDriver.java 8 Jun 2006 17:33:47 -0000 1.2 --- W3CDocumentDriver.java 22 Jun 2006 19:16:20 -0000 1.2.2.1 *************** *** 167,171 **** xmlResults = new ArrayList(); for (int c = 0; c < children.getLength(); ++c) { ! xmlResults.add(children.item(c)); } } --- 167,175 ---- xmlResults = new ArrayList(); for (int c = 0; c < children.getLength(); ++c) { ! // Only add direct descendants ! Element child = (Element)children.item(c); ! if (child.getParentNode().equals(parent)) { ! xmlResults.add(child); ! } } } *************** *** 233,237 **** return element.getParentNode(); } else { ! return (Element)element.getElementsByTagName(path).item(0); } } --- 237,248 ---- return element.getParentNode(); } else { ! Element child = (Element)element.getElementsByTagName(path).item(0); ! // Only return direct descendants ! if (child.getParentNode().equals(element)) { ! return child; ! } ! else { ! return null; ! } } } *************** *** 258,262 **** Element parent = element; element = (Element)element.getElementsByTagName(path).item(0); ! if (create && (element == null)) { element = document.createElement(path); parent.appendChild(element); --- 269,277 ---- Element parent = element; element = (Element)element.getElementsByTagName(path).item(0); ! if (!element.getParentNode().equals(parent)) { ! // Only look for direct descendants ! element = null; ! } ! if (create && element == null) { element = document.createElement(path); parent.appendChild(element); |