解析xml

yuxihongliang 2013-12-25 03:46:03
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Message>
<Header MsgType="DeviceListResponse" MsgSeq="11"/>
<Result RetCode="0"/>
<DeviceListResponse>
<DeviceList Count="23">
<Device Id="98" Name="北京东路军区北大门" Status="1" Latitude="32.085555" Longitude="118.815833" PlayUrl="RTSP://221.130.30.85:554/201303/17_test.T4"/>
<Device Id="99" Name="东大影壁南" Status="1" Latitude="32.050555" Longitude="118.798611" PlayUrl="RTSP://221.130.30.85:554/201303/18_test.T4"/>
<Device Id="100" Name="丹凤街双龙巷路口" Status="1" Latitude="32.050833" Longitude="118.788611" PlayUrl="RTSP://221.130.30.85:554/201303/19_test.T4"/>
<Device Id="101" Name="傅厚岗" Status="1" Latitude="32.090000" Longitude="118.824522" PlayUrl="RTSP://221.130.30.85:554/201303/20_test.T4"/>
<Device Id="102" Name="市政府西路口" Status="1" Latitude="32.047500" Longitude="118.804444" PlayUrl="RTSP://221.130.30.85:554/201303/21_test.T4"/>
<Device Id="103" Name="成贤街玄武区法院门口" Status="1" Latitude="32.049444" Longitude="118.795833" PlayUrl="RTSP://221.130.30.85:554/201303/22_test.T4"/>
<Device Id="104" Name="太平门" Status="1" Latitude="32.051388" Longitude="118.783055" PlayUrl="RTSP://221.130.30.85:554/201303/23_test.T4"/>
<Device Id="105" Name="成贤街东大医院" Status="1" Latitude="32.095000" Longitude="118.855277" PlayUrl="RTSP://221.130.30.85:554/201303/24_test.T4"/>
<Device Id="106" Name="黄浦路北" Status="1" Latitude="32.059722" Longitude="118.798055" PlayUrl="RTSP://221.130.30.85:554/201303/25_test.T4"/>
<Device Id="107" Name="丹凤街恒基中心" Status="1" Latitude="32.059444" Longitude="118.796388" PlayUrl="RTSP://221.130.30.85:554/201303/26_test.T4"/>
<Device Id="108" Name="丹凤街赛格数码广场" Status="1" Latitude="32.050000" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/27_test.T4"/>
<Device Id="109" Name="市政府" Status="1" Latitude="32.079722" Longitude="118.803611" PlayUrl="RTSP://221.130.30.85:554/201303/28_test.T4"/>
<Device Id="110" Name="东大影壁北" Status="1" Latitude="32.058611" Longitude="118.781666" PlayUrl="RTSP://221.130.30.85:554/201303/29_test.T4"/>
<Device Id="111" Name="北京东路南空附近" Status="1" Latitude="32.059444" Longitude="118.786666" PlayUrl="RTSP://221.130.30.85:554/201303/30_test.T4"/>
<Device Id="112" Name="黄浦路" Status="1" Latitude="32.052500" Longitude="118.781666" PlayUrl="RTSP://221.130.30.85:554/201303/31_test.T4"/>
<Device Id="113" Name="北京东路南外附近" Status="1" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="118" Name="北环快速路" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="119" Name="西环路高架" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="120" Name="南环路高架" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="121" Name="北环路高架" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="122" Name="太湖西路" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="123" Name="太湖东路" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
<Device Id="124" Name="宝带西路" Status="0" Latitude="32.049722" Longitude="118.793611" PlayUrl="RTSP://221.130.30.85:554/201303/32_test.T4"/>
</DeviceList>
</DeviceListResponse>
</Message>

大家好。我有一个这样的xml文件 现在解析一直有问题。。麻烦会的帮忙解析下可以吗??我想获取中间的name 跟PlayUrl的值封装到list中
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰翼林_Java 2013-12-25
  • 打赏
  • 举报
回复

Document document = reader.read("xml文件");
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子节点
List<Element> elementList = root.elements();
// 遍历所有子节点,key为节点名称,value为节点值
for (Element e : elementList)
	map.put(e.getName(), e.getText());
封装到Map后可根据key取值
map.get("xml节点名");
  • 打赏
  • 举报
回复
如果就获取个别内容,xpath解析。
tony4geek 2013-12-25
  • 打赏
  • 举报
回复
yuxihongliang 2013-12-25
  • 打赏
  • 举报
回复
看了。。有点问题。。 List jiedian = root.getChildren(); 这个是获取子节点。。 显示里面有三个。。分别是 [Element: <Header/>] [Element: <Result/>] [Element: <DeviceListResponse/>] 我再要获取第三个子节点下面的节点 这个不知道怎么弄。。。网上找了一堆资料 还是没看到有说。。哎!
tony4geek 2013-12-25
  • 打赏
  • 举报
回复
sax jdom 解析 网上搜索看看。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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