【问题标题】:How to get the nodes inner text in java script?如何在javascript中获取节点内部文本?
【发布时间】:2012-06-02 14:12:10
【问题描述】:

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

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

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

【问题讨论】:

  • @NiftyDude 感谢您的回复。我尝试使用此命令但没有结果。 $(xml).find("st").text();
  • 所以你使用的是 jQuery?
  • @NiftyDude 是的,我正在尝试使用 Jquery。它不起作用。如果 XPath 可以工作,我就可以使用了。谢谢。
  • 嗯,好的,$(xml).find()... 中的 xml 是什么?
  • 你能试试fyneworks.com/jquery/xml-to-json这样的东西吗?然后随心所欲地玩json。

标签: javascript jquery xml dom xpath


【解决方案1】:

使用.parseXML()

var xmldom = $.parseXML('<gt><st>sample1</st><tt>sample2</tt><tt>sample3</tt></gt>');

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

这将找到&lt;gt&gt;下的所有节点。

【讨论】:

  • $.parseXML() 抛出类似“不是函数”的错误。我需要添加任何 Java 脚本文件吗?
【解决方案2】:

试试这个代码:

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 example

【讨论】:

  • 人们发布小提琴链接的原因通常是其他人可以快速测试它,也可以根据需要尝试更改它。抱歉,如果我不小心破坏了任何 stackoverflow 规则
  • 我也发布了演示,但不仅仅是链接。更新很好。
  • @Kshitij $.parseXML() 抛出类似“不是函数”的错误。我需要添加任何 Java 脚本文件吗?
  • 我希望你已经导入了 jquery core .js 文件。如果没有,你需要
  • 这里是下载最新jquery库的链接,使用压缩后的缩小版-blog.jquery.com/2012/03/21/jquery-1-7-2-released
猜你喜欢
  • 2011-09-23
  • 1970-01-01
  • 2011-12-19
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
  • 1970-01-01
相关资源
最近更新 更多