【发布时间】:2017-06-13 20:08:36
【问题描述】:
我想这是我在这里的第一篇文章!经常使用 stackoverflow,它是一个很棒的网站!
我有一个 XML 文件,其中包含一个包含特定文件的文件路径的字段,一个提供创建日期的字段,以及提供纬度、度数和秒以及经度、分钟的字段和几秒钟的手机图像。
部分 XML 文件如下所示:(注意我已更改文件中的数据,因此它不反映“真实”数据。)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OFSExport Version="4">
<MobileDevice Name="785421076249232-01-01-2015 10-40-45">
<Sections>
<Section Name="FILE_BROWSER">
<Item Type="ATTR_FB_TYPE_FOLDER">
<Field Type="FLD_FB_FILE_PATH">/private/var/mobile/Media/DCIM/101APPLE/</Field>
<Field Type="FLD_FB_MODIFIED" UTC_Offset="0"></Field>
<Field Type="FLD_FB_LAST_ACCESSED" UTC_Offset="0"></Field>
<Field Type="FLD_FB_CREATED" UTC_Offset="0"></Field>
<Field Type="FLD_ITEM_HASH" Hash_Method="ATTR_HASH_SHA-2"></Field>
</Item>
<Item Type="ATTR_FB_TYPE_FILE" Deleted="ATTR_FB_DEL_ACTUAL">
<Field Type="FLD_FB_FILE_NAME">IMG_1230.JPG</Field>
<Field Type="FLD_FB_FILE_SIZE">716102</Field>
<Field Type="FLD_FB_FILE_PATH">/private/var/mobile/Media/DCIM/101APPLE/IMG_1230.JPG</Field>
<Field Type="FLD_FB_MODIFIED" Date="17.01.2015" Time="18:16:09" UTC_Offset="0"></Field>
<Field Type="FLD_FB_LAST_ACCESSED" Date="01.05.2015" Time="22:42:00" UTC_Offset="0"></Field>
<Field Type="FLD_FB_CREATED" Date="17.01.2015" Time="18:16:08" UTC_Offset="0"></Field>
<Field Type="FLD_ITEM_HASH" Hash_Method="ATTR_HASH_SHA-2">90e939f5bb4bad0ac53be9ad34db5bd98c4bc6628058ee9b5c3bcf4704f547bc</Field>
<ExifInfo>
<ExifItem Type="FLD_FB_EXIF_ApertureValue" Eng_Title="Aperture value">2.27500712455432</ExifItem>
<ExifItem Type="FLD_FB_EXIF_BrightnessValue" Eng_Title="Brightness value">4.49876684478372</ExifItem>
<ExifItem Type="FLD_FB_EXIF_ColorSpace" Eng_Title="ColorSpace">1</ExifItem>
<ExifItem Type="FLD_FB_EXIF_DateTime" Eng_Title="Timestamp" Date="17.01.2015" Time="19:16:08" UTC_Offset="Device Time"></ExifItem>
<ExifItem Type="FLD_FB_EXIF_DateTimeDigitized" Eng_Title="Digitized timestamp" Date="17.01.2015" Time="19:16:08" UTC_Offset="Device Time"></ExifItem>
<ExifItem Type="FLD_FB_EXIF_DateTimeOriginal" Eng_Title="Original timestamp" Date="17.01.2015" Time="19:16:08" UTC_Offset="Device Time"></ExifItem>
<ExifItem Type="FLD_FB_ExifImageHeight" Eng_Title="Height">1920</ExifItem>
<ExifItem Type="FLD_FB_ExifImageWidth" Eng_Title="Width">3412</ExifItem>
<ExifItem Type="FLD_FB_EXIF_ExifVersion" Eng_Title="Exif version">0221</ExifItem>
<ExifItem Type="FLD_FB_EXIF_ExposureProgram" Eng_Title="Exposure program">2</ExifItem>
<ExifItem Type="FLD_FB_EXIF_ExposureTime" Eng_Title="Exposure time">11:01:48 AM</ExifItem>
<ExifItem Type="FLD_FB_EXIF_Flash" Eng_Title="Flash">16</ExifItem>
<ExifItem Type="FLD_FB_EXIF_FlashPixVersion" Eng_Title="Flash pix version">0100</ExifItem>
<ExifItem Type="FLD_FB_EXIF_FNumber" Eng_Title="Focal number">2.2</ExifItem>
<ExifItem Type="FLD_FB_EXIF_FocalLength" Eng_Title="Focal length">4.15</ExifItem>
<ExifItem Type="FLD_FB_EXIF_FocalLengthIn35mmFilm" Eng_Title="Focal length in 35mm film">74</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSAltitude" Eng_Title="GPS altitude">124.118556701031</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSAltitudeRef" Eng_Title="GPS altitude ref">0</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSDateStamp" Eng_Title="GPS timestamp" Date="17.10.2016" Time="00:00:00" UTC_Offset="Device Time"></ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSDestLatitudeRef" Eng_Title="GPS dest latitude ref">E</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLatitudeDegrees" Eng_Title="GPS latitude degrees">40</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLatitudeMinutes" Eng_Title="GPS latitude minutes">30</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLatitudeSeconds" Eng_Title="GPS latitude seconds">10.00000000001</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLatitudeRef" Eng_Title="GPS latitude ref">N</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLongitudeMinutes" Eng_Title="GPS longitude minutes">15</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLongitudeSeconds" Eng_Title="GPS longitude seconds">31.0000000000001</ExifItem>
<ExifItem Type="FLD_FB_EXIF_GPSLongitudeRef" Eng_Title="GPS longitude ref">W</ExifItem>
我是一名数字法医检查员,我正在尝试在 googlemap 上绘制照片的拍摄地点。 XML 文件是取证软件提供的输出,虽然它以非常好的方式将数据绘制到地图上,但似乎没有一种方法可以让其他人查看它。所以我正在尝试创建自己的地图,上面有标记,显示拍摄照片的位置。我正在通过 HTML5 和 javascript 使用 Google 街道地图来执行此操作。
目前的计划是循环这个xml文件,拉出部分文件路径,以及经纬度数据,把这个数据添加为js对象(fp:..., lat:..., lon : ....),然后将此 JS 对象添加到 JS 数组中,并重复直到添加所有数据。然后,我将遍历数组并为地图上的每张照片创建标记。 (未来的想法是更改图像缩略图的标记,并注意特定位置的图片数量。)
现在我正在尝试导入 XML 文件并引用我需要的位,但我很挣扎!我试过xhttp.open,(地图将是一个本地保存的文件,之后我会提供给客户,而不是保存到服务器,所以这个命令不起作用。)$ .parseXML 提供以下错误消息:
jquery.min.js:2 未捕获的错误:无效 XML:geolocation.xml at Function.error (jquery.min.js:2) at Function.parseXML (jquery.min.js:2) at test.js: 50
有没有人知道如何使用 javascript 循环访问与 HTML 文件位于同一文件夹中的已创建的 xml 文件?
干杯
鲍勃
【问题讨论】:
-
jQuery负责抓取和解析 XML。你能分享你的代码吗? -
@FieryCat var testXML = $.parseXML("geolocation.xml");控制台.log(textXML);无法正确获得 minimarkdown!
标签: javascript jquery xml html