Java如何获取xml文件中子节点的属性

<?xmlversion="1.0"encoding="UTF-8"?><graphmlxmlns="http://graphml.graphdrawing.org/xm... <?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<graph id="G" edgedefault="undirected">
<node id="n0"/>
<node id="n1"/>
<node id="n2"/>
<node id="n3"/>
<node id="n4"/>
<node id="n5"/>
<node id="n6"/>
<node id="n7"/>
<node id="n8"/>
<node id="n9"/>
<node id="n10"/>
<edge source="n0" target="n2"/>
<edge source="n1" target="n2"/>
<edge source="n2" target="n3"/>
<edge source="n3" target="n5"/>
<edge source="n3" target="n4"/>
<edge source="n4" target="n6"/>
<edge source="n6" target="n5"/>
<edge source="n5" target="n7"/>
<edge source="n6" target="n8"/>
<edge source="n8" target="n7"/>
<edge source="n8" target="n9"/>
<edge source="n8" target="n10"/>
</graph>
</graphml>
如何获取node的各id值和edge的各属性值?
展开
 我来答
javalinuxhx
推荐于2017-11-26 · TA获得超过167个赞
知道答主
回答量:75
采纳率:0%
帮助的人:40.8万
展开全部
public class StudentTest {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder db = factory.newDocumentBuilder();
Document document = db.parse(new File("student.xml"));

NodeList node = document.getElementsByTagName("学生");
for(int i=0;i<node.getLength();i++){
Element element = (Element)node.item(i);
// 获取属性学号
String content = element.getAttribute("学号");
System.out.println("学号:" + content);

content = element.getElementsByTagName("姓名").item(0).getFirstChild().getNodeValue();
System.out.println("姓名:" + content);

content = element.getElementsByTagName("性别").item(0).getFirstChild().getNodeValue();
System.out.println("性别:" + content);

content = element.getElementsByTagName("年龄").item(0).getFirstChild().getNodeValue();
System.out.println("年龄:" + content);
System.out.println();
}
}
}
// 被解析的XML文件内容(student.xml)
<?xml version="1.0" encoding="UTF-8"?>
<学生名册>
<学生 学号="0001214">
<姓名>张燕</姓名>
<性别>女</性别>
<年龄>22</年龄>
</学生>

<学生 学号="0001239">
<姓名>李继成</姓名>
<性别>男</性别>
<年龄>22</年龄>
</学生>

<学生 学号="0001275">
<姓名>华伟</姓名>
<性别>男</性别>
<年龄>22</年龄>
</学生>

</学生名册>

自己慢慢看吧;

// 获取属性学号
String content = element.getAttribute("学号");
System.out.println("学号:" + content);

更多追问追答
追问

为什么代码有错啊,按照提示改了还是不行?

追答
什么错误,是不是没有捕获异常
百度网友b11ce96
2014-03-10
知道答主
回答量:73
采纳率:0%
帮助的人:28.1万
展开全部
现获得graph 父节点在获得其所有子节点
追问
我不太会,能说的详细点吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang779896660
2014-03-10 · TA获得超过701个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:339万
展开全部
dom4j 用这个,很easy
追问
我不太会,能说的详细点吗?
追答
去找个dom4j.jar包, 放到工程里, 然后去百度找个dom4j教程看看   就可以写了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式