2010-03-02 50 views
0

不应该像这样的工作?XOM从节点获取属性?

假设格式化为这样的文件:

<root> 
    <element id = "a"></element> 
</root> 

Node node = doc.query("/root/element").get(0); 
String id = node.getDocument().getRootElement().getAttribute("id"); 

当我打印根元素的值,它看起来好象这应该工作。什么是失败的,在这里?

回答

2

将您的节点转换为元素,并且您很好。

+0

我不明白。这不是我已经发布的? [“你可以尝试输入铸造节点到元素,并告诉我们什么是失败。”] – 2010-03-03 10:04:08

+0

评论并非答案。如果你想接受,你应该公布答案,而不是评论。 – 2010-03-03 18:04:38

0

node.getDocument()。getRootElement()此时你有没有属性“id”的元素。

请尝试node.getAttribute(“id”)来代替? (假设节点不为空)

+0

http://www.xom.nu/apidocs/nu/xom/Node.html – 2010-03-02 17:50:07

+1

您可以尝试将元素类型转换为元素,并告诉我们什么是失败。 此外,任何代码粘贴显示不应该被认为是可编译的(我讨厌downvoting,因为有些东西不编译)。这个想法是应该看的? – 2010-03-02 18:28:36

+0

当我打印检索到的根元素时,它显示 ... ...,所以我很困惑为什么这样不起作用。 – 2010-03-02 18:33:04