簡體   English   中英

使用javascript從預先創建的XML文件導入數據

[英]Using javascript to import data from pre-created XML file

我認為這是我的第一篇文章! 二手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:位於test.js的Function.parseXML(jquery.min.js:2)的Function.error(jquery.min.js:2)中的geolocation.xml:50

有沒有人知道如何使用javascript循環遍歷已創建的xml文件,該文件與HTML文件位於同一文件夾中?

干杯

短發

parseXML 使用字符串輸入,嘗試下一個解決方案:

$.ajax({
    type: "GET",
    url: "geolocation.xml",
    dataType: "xml",
    success: function (xml) {
        // dataType do the job of $.parseXML(xml);
        console.log(xml);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM