如何使用javascript从XML获取元素

时间:2014-01-28 13:32:27

标签: javascript xml xml-parsing xmlhttprequest

我必须将我的项目表单XML更改为JavaScript(至少部分内容)。 所以我有这样的结构:

$xml = simplexml_load_file("http://...);
$profile = $xml->profile;   
$user_id = $profile->user_id;

现在我想把它翻译成JavaScript,所以我使用了:

var xmlHttp_subscribe = new XMLHttpRequest();
xmlHttp_subscribe.onreadystatechange=postCall;
xmlHttp_subscribe.open("GET","http://...",true);
xmlHttp_subscribe.send();

现在功能postCall()

function postCall(){
  var t = document.getElementsByName("MY_API").value;
  alert('t'+t);
  var p = document.getElementsByName("profile").value;
  alert('p'+p);
  var h = document.getElementsByName("user_id").value;
//...//
 }

XML在我的http://之下就是这样:

<MY_API>
  <profile>
    <user_id>the_user_id</user_id>
  </profile>
</MY_API>

我想要做的是将此'the_user_id'部分以纯文本形式显示为字符串。 有没有人知道怎么做? 我是朝着好的方向看的吗?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:0)

没有“getElementsByName”功能。你需要的是getElementsByTagName。

Check this link out, it should be what you're looking for

答案 1 :(得分:0)

根据Pineda的建议,正确的函数名称是getElementsByTagName,另外正确的属性名称不是“value”而是nodeValue,所以你应该使用

function postCall(){
  var h = document.getElementsByTagName("user_id").nodeValue;
}