xml结构如下:
<?xml version='1.0' encoding="Shift_JIS" ?>
<doc>
<user>
<userId>001</userId>
<directory nodeName="Sophia" nodeId="1">
<directory1 nodeName="Sophia1" nodeId="2">
</directory1>
</directory>
</user>
</doc>
Element node1=(Element)XPath.selectSingleNode(root, "/directory1[@nodeId='2']/parent::*");
System.out.println(node1);
则输出“null",但是明明directory是它的父节点啊1!
但是改为 Element node1=(Element)XPath.selectSingleNode(root, "//directory1[@nodeId='2']/parent::*");
就报错,我就是想获取nodeId为2的节点的父节点,应该如何实现,请大家帮忙看看
<?xml version='1.0' encoding="Shift_JIS" ?>
<doc>
<user>
<userId>001</userId>
<directory nodeName="Sophia" nodeId="1">
<directory1 nodeName="Sophia1" nodeId="2">
</directory1>
</directory>
</user>
</doc>
Element node1=(Element)XPath.selectSingleNode(root, "/directory1[@nodeId='2']/parent::*");
System.out.println(node1);
则输出“null",但是明明directory是它的父节点啊1!
但是改为 Element node1=(Element)XPath.selectSingleNode(root, "//directory1[@nodeId='2']/parent::*");
就报错,我就是想获取nodeId为2的节点的父节点,应该如何实现,请大家帮忙看看
System.out.println(node1);
则输出“null",但是明明directory是它的父节点啊1!
---------------------->
/是绝对路径,//是相对路径另外,你那个异常我不知道是如何来的,XPath语法是正确的,你check一下,你root节点是否是真正的root节点。
xml结构如下:
<?xml version='1.0' encoding="Shift_JIS" ?>
<doc>
<user>
<userId>001</userId>
<directory nodeName="Sophia" nodeId="1">
<directory nodeName="Sophia1" nodeId="2">
</directory>
<directory nodeName="sdfgfsdf" nodeId="4">
</directory>
</directory>
</user>
</doc>
需要怎样实现呢?
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build("/Tomcat5.5/webapps/ROOT/Sample.xml");
Element root = doc.getRootElement();
System.out.println(root);(输出结果正确)
通过下面语句
Element node1=(Element)XPath.selectSingleNode(root, "//directory[@nodeId='2']");
可以得到想找的节点,那么如何才能获得他的祖先呢?
java.lang.NoSuchMethodError: org.jdom.Element.getParent()Lorg/jdom/Element
Element node1=(Element)XPath.selectSingleNode(root, "//directory[@nodeId='2']");
Element node2=(Element)node1.getParent;
Element node1=(Element)XPath.selectSingleNode(root, "/directory1@nodeId='2']/parent::*");
是通过的,没有报错啊
java.lang.NoSuchMethodError: org.jdom.Element.getParent()Lorg/jdom/Element