如何在JavaScript中获取节点的内部文本?

7

我有一个XML格式的字符串。如下所示:

<gt>
    <st>sample1</st>
    <tt>sample2</tt>                    
    <tt>sample3</tt>
</gt>

我需要在Java脚本文件中获取节点值。如何获取该值?


@NiftyDude 谢谢您的回复。我尝试使用这个命令,但没有结果。$(xml).find("st").text(); - P.Muralikrishna
所以你在使用jQuery? - Andreas Wong
@NiftyDude 是的,我正在尝试使用Jquery。但它无法正常工作。如果XPath可以工作,我准备使用它。谢谢。 - P.Muralikrishna
1
好的,$(xml).find()... 中的 xml 是什么? - Andreas Wong
你可以尝试一下类似于http://www.fyneworks.com/jquery/xml-to-json/的东西,然后随心所欲地处理JSON。 - deej
2个回答

3
使用 .parseXML() 函数来解析 XML。
var xmldom = $.parseXML('<gt><st>sample1</st><tt>sample2</tt><tt>sample3</tt></gt>');

console.log($(xmldom).find('gt *'));

这将查找所有位于 <gt> 下方的节点。

$.parseXML() 抛出“不是函数”的错误。我需要添加任何 JavaScript 文件吗? - P.Muralikrishna

1

尝试这段代码:

var xml = "<gt><st>sample1</st><tt>sample2</tt><tt>sample3</tt></gt>",
    xmlDoc = $.parseXML(xml),
    $xml = $( xmlDoc ),
    $st = $xml.find( "st" );

alert( $st.text() );

请查看js fiddle示例


通常人们发布Fiddle链接的原因是其他人可以快速测试并根据需求进行更改。如果我无意间违反了任何StackOverflow规则,很抱歉。 - Kshitij
我也会发布演示,但不只是链接。更新没问题。 - gdoron
@Kshitij $.parseXML() 抛出“不是函数”的错误。 我需要添加任何 JavaScript 文件吗? - P.Muralikrishna
我希望你已经导入了jQuery核心.js文件。如果没有,你将需要这样做。 - Kshitij
这是下载最新的jQuery库的链接,请使用压缩版本,因为它已经被压缩 - http://blog.jquery.com/2012/03/21/jquery-1-7-2-released/ - Kshitij
你能分享一下你的代码吗?这样我们可能会更好地识别错误。只需编辑你上面的问题,添加导入jquery*.js的代码和调用函数的部分即可。 - Kshitij

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接