2017-06-13 175 views
1

我認爲這是我的第一篇文章!使用了很多的stackoverflow,它是一個很棒的網站!使用javascript從預先創建的XML文件導入數據

我有一個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:Function.error(jquery.min.js:2)處的Function.error(jquery.min.js:2)處的geolocation.xml處於測試狀態.js:50

有誰知道一種方式來循環通過一個已經創建的XML文件駐留在使用JavaScript的HTML文件相同的文件夾?

乾杯

鮑勃

+0

'jQuery'做抓取和解析XML的工作。你能分享你的代碼嗎? – FieryCat

+0

@FieryCat var testXML = $ .parseXML(「geolocation.xml」); \t console.log(textXML);不能得到minimarkdown權利! –

回答

0

parseXMLuse string for input,嘗試下一個解決方案:

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

@ fierycat。我收到以下錯誤:jquery.min.js:4 XMLHttpRequest無法加載geolocation.xml。協議方案僅支持跨源請求:http,data,chrome,chrome-extension,https。 發送\t \t @ jquery.min.js:4 AJAX \t \t @ jquery.min.js:4 (匿名)\t \t @ test.js:29伊夫添加的在我的HTML jquery –

+0

XML文件必須在同一臺服務器上,嘗試更改'url '到一個正確的地址:'url:'//'+ window.location.host +'/ geolocation。xml' – FieryCat

+0

明天我會回來工作 –