2012-07-23 108 views
1

我只是需要提取兩個標記之間的一些信息,在這種情況下之間,<title>JS - 讀取數據的XML標籤

例如:

... 
<title>I Need This!</title> 
... 

而我只需要能夠得到標籤之間的信息。我正在考慮使用split(),但是,我一直無法弄清楚如何剪切前後的所有數據,並且只需在標題標籤中捕捉所有內容。正如你所看到的,我是一個文本格式的初學者。謝謝!

編輯:文件我期待通過的類型的一個例子是在這裏:https://gdata.youtube.com/feeds/api/videos/http://youtu.be/_OBlgSz8sSMg?v=2

我只是試圖把在標題標籤是什麼讓視頻的標題。

+0

你解析HTML文本還是你想從當前頁面拉標題?如果前者,我會推薦一個簡單的正則表達式去掉HTML標籤。 – 2012-07-23 17:24:15

+0

使用XML解析器。或者你有什麼特定的東西? – Bergi 2012-07-23 17:24:18

+0

具體。我得到一個返回值,這是一個巨大的文本(XML代碼)。然後我解析文本,搜索標題標籤,然後我收集值 – JTApps 2012-07-23 17:27:05

回答

2
var text = '<title>I Need This!</title>', 
    match = text.match(/<title>([^<]*)<\/title>/), 
    youGotThis = match[1]; 

這裏的小提琴:http://jsfiddle.net/RPbSE/

+0

我不確定,因爲我之前沒有使用過「匹配」,但會返回標題標籤之間的所有文本,或者只是「我需要這個」 – JTApps 2012-07-23 17:30:07

+0

@JTApps - 我更新了它。現在應該在這些標籤中獲取任何內容。在小提琴中嘗試它。 – 2012-07-23 17:32:40

+0

現在工作得很好,感謝您的幫助!答案可以在2分鐘內接受。再次感謝! – JTApps 2012-07-23 17:35:13

0

DOM工作在XML只是以及對HTML,所以一個簡單的

var titleNodeList = yourXMLDocument.getElementsByTagname('title'); 
var firstTitle = titleNodeList[0]; 
var titleTextNode = firstTitle.firstChild; 
alert(titleTextNode); 

應該做的。

+0

它實際上並不是一個XML文檔,它是一個字符串,是一個解析的值 – JTApps 2012-07-23 17:29:22