加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab 读取xml文件的另一个简单例子

(2013-07-10 19:29:46)
标签:

matlab

xml

文化

分类: 科研
xml文件如下:
<?xml version='1.0' encoding='UTF-8'?>
<nrml xmlns:gml="http://www.opengis.net/gml" xmlns="http://openquake.org/xmlns/nrml/0.4">
  <hazardMap statistics="mean" IMT="PGA" investigationTime="50.0" poE="0.1">
    <node lon="116.556679644" lat="38.7640703645" iml="0.0352277231886"/>
    <node lon="116.560354569" lat="39.2137311674" iml="0.0775584746988"/>
    <node lon="116.564112835" lat="39.6633919704" iml="0.0990228925441"/>
    <node lon="117.119143604" lat="37.8647487586" iml="0.0216950775134"/>
    <node lon="117.126172076" lat="38.3144095615" iml="0.0326954929515"/>
    <node lon="117.133359288" lat="38.7640703645" iml="0.0522833449299"/>
    <node lon="117.140709138" lat="39.2137311674" iml="0.0982546625817"/>
    <node lon="117.14822567" lat="39.6633919704" iml="0.111277021458"/>
    <node lon="117.155913078" lat="40.1130527734" iml="0.0695124677318"/>
。。。。。。

一下省略,都是由这些点组成的。暂且取名为test2.xml

%读取openquake hazard maps的程序
clear
clc
Doc = xmlread('test2.xml'); %读取xml文件
Coordinate = Doc.getElementsByTagName_r('node');%把所有Tag名为node的储存到Coordinate中
results=zeros(Coordinate.getLength,3);%先把最后结果设置好,为Coordinate.getLength行,3列的向量
for jj=0:Coordinate.getLength-1
Info=Coordinate.item(jj); %读取Coordinate中第jj个,也就是xml中node集合中的第jj行,xml是以0开始的
Long=char(Info.getAttribute('lon'));%把lon属性的值付给Long
Latitude=char(Info.getAttribute('lat'));%把lat属性的值付给Latitude
Intensity=char(Info.getAttribute('iml'));%把iml属性的值付给Intensity
long=str2double(Long);%转换为数值形式,因为上面的只是char型数据
latitude=str2double(Latitude);%同上
intensity=str2double(Intensity);%同上
results(jj+1,:)=[long latitude intensity];%把所有数据组织到一起
end

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有