2012-11-10 126 views
0

我有使用圖片代碼這樣的XML文件:JQuery的解析XML圖像標籤

<Entry> 
    <?image_0 href="http://url.com"?> 
    <?image_1 href="http://url.com"?> 
    <?image_2 href="http://url.com"?> 
</Entry> 

它不使用.find工作(「?image_0」)或類似的,因爲這沒有結束標籤。 Adobe InDesign支持此格式,但如何獲取圖像子元素和URL?

+1

你告訴我這是在瀏覽器窗口中產生的標記嗎? – Ohgodwhy

+0

這不是有效的XML。 – Musa

+0

它是由InDesign生成的文件,由於某些原因該程序使用此標記處理圖像。 – jotun

回答

1

您可以通過重寫內容,使其有效的XML:

var data = '<Entry> <?image_0 href="http://url.com"?> <?image_1 href="http://url.com"?> <?image_2 href="http://url.com"?> </Entry>'; 
data = data.replace(/\<\?/g, "<").replace(/\?\>/g, "/>"); 
alert($(data).find("image_0").attr("href")); 

Here's a fiddle

+0

這會起作用,但我注意到.replace只替換了XML字符串中第一行中的符號,而不是它找到的每個實例。你知道爲什麼嗎?我嘗試使用文本和HTML作爲dataTypes(XML創建一個對象,我不能使用替換)。 – jotun

+0

啊,真的。這只是用正則表達式替換搜索模式以獲得全局搜索的問題。 (即上面的'/ g') – Candide

+0

感謝您的幫助 – jotun