xml 定位问题,请高手帮忙!

newman0708 2003-03-26 04:11:52
我想得到bookList-book-author-people-name中“name->newman0708”
我怎么才能得到这个element(name)?

我用是是jdom。
请各位高手帮忙,谢谢!
<bookList>
<book>
<name>Java编程入门</name>
<author>张三</author>
<people year="1980">
<性别>男</性别>
<age>24</age>
<tel>88888888</tel>
<name>newman0708</name>
<job>student</job>
</people>
<publishDate>2002-6-6</publishDate>
<price>35.0</price>
</book>
<book>
<name>XML在Java中的应用</name>
<author>李四</author>
<publishDate>2002-9-16</publishDate>
<price>92.0</price>
</book>
</bookList>
...全文
25 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwei1998 2003-04-01
  • 打赏
  • 举报
回复
用xPath吧,正合你用!
jinxiao7894 2003-04-01
  • 打赏
  • 举报
回复
“name->newman0708”你一次想取到他似乎不行!因为这里的name属于Element的name,newman0708是Element的text!我不知道你的前提知道哪些东西,如果向你所说的路径很深,你可以用递归!具体说说,我们一起研究!呵呵~~
wangwei1998 2003-03-31
  • 打赏
  • 举报
回复
jdom太耗内存了。
jinxiao7894 2003-03-31
  • 打赏
  • 举报
回复
SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser");

Document doc = builder.build(new File(fileName));
Element rootElement = doc.getRootElement();

Element element;

element = rootElement .getChild("people");

element.getChildText("name");这就是你所要的值!
newman0708 2003-03-31
  • 打赏
  • 举报
回复
to jinxiao7894(金宵):

我要的是bookList-book-author-people-name中“name->newman0708”
不是你所说的那样,路径较深的怎么做?

最好是能直接取到我要的值(路径较深)。


kreven 2003-03-27
  • 打赏
  • 举报
回复
用java程序还是xsl?
newman0708 2003-03-27
  • 打赏
  • 举报
回复
我用的是jdom,不是dom.

请再帮我想想办法啊!
lalabu 2003-03-27
  • 打赏
  • 举报
回复
NodeList list=doc.getElementsByTagName("people");

Node node;
Text text;
for(int i=0;i<list.getLength(); i++){
node=list.item(i);

if(node.getNodeType()==Node.Element){
if(node.getNodeName().equals("name"))
text=(Text)node.getFirstChild();
if(text.getNodeValue.equals("newman0708"))
return node;//that node name is your request . ok!
}

}

return null;
lalabu 2003-03-27
  • 打赏
  • 举报
回复
NodeList list=doc.getElementsByTagName("people");

Node node;
for(int i=0;i<list.getLength(); i++){
node=list.item(i);

if(node.getNodeType()==Node.Element){
if(node.getNodeName().equals("name"))
return node;//that node name is your request . ok!
}

}

return null;
lalabu 2003-03-27
  • 打赏
  • 举报
回复
NodeList list=doc.getElementsByTagName("people");

Node node;
for(int i=0;i<list.getLength(); i++){
node=list.item(i);



}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧