如何在xml文件中访问子进程?

时间:2017-09-23 12:32:17

标签: javascript xml

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title><name> Everyday Italian </name></title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes["name"].nodeValue;
</script>
</body>
</html>

在上面的代码中,我想访问&#34; title&#34;的孩子。这是&#34; name&#34;在我的情况下。运行脚本后,父级(标题)无法访问其子级&#34;名称&#34;。

1 个答案:

答案 0 :(得分:0)

您的代码存在两个问题:

  1. Xus level 5 : var1 = 885775, var2 = 50 Xus level 4 : var1 = 885710, var2 = 25 Xus level 3 : var1 = 885705, var2 = 25 Xus level 2 : var1 = 885640, var2 = 100 Xus level 1 : var1 = 885610, var2 = 275 Yus level 1 : var3 = 885510, var4 = 6875 Yus level 2 : var3 = 885505, var4 = 500 Yus level 3 : var3 = 885500, var4 = 225 Yus level 4 : var3 = 885465, var4 = 25 Yus level 5 : var3 = 885460, var4 = 100 ... (continue above format with changed values...) 不是由标记名称索引的哈希。使用 而是childNodes
  2. getElementsByTagName不会返回元素的文本。请改用nodeValue
  3. 此外,如果XML与您期望的结构不完全匹配,您的代码将会失败。你应该考虑加入一些错误处理。