2012-07-23 115 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