Javascript 如何访问xml文件中的子文件? 无标题文件 var-text,解析器,xmlDoc; text=“”+ “日常意大利语”+ “Giada De Laurentiis”+ "2005" + ""; parser=新的DOMParser(); xmlDoc=parser.parseFromString(text,“text/xml”); document.getElementById(“demo”).innerHTML= xmlDoc.getElementsByTagName(“title”)[0].childNodes[“name”].nodeValue;

Javascript 如何访问xml文件中的子文件? 无标题文件 var-text,解析器,xmlDoc; text=“”+ “日常意大利语”+ “Giada De Laurentiis”+ "2005" + ""; parser=新的DOMParser(); xmlDoc=parser.parseFromString(text,“text/xml”); document.getElementById(“demo”).innerHTML= xmlDoc.getElementsByTagName(“title”)[0].childNodes[“name”].nodeValue;,javascript,xml,Javascript,Xml,在上面的代码中,我想访问“title”的子级,在我的例子中,它是“name”。运行脚本后,父级(标题)无法访问其子级“名称” 您的代码有两个问题: childNodes不是按标记名索引的哈希。使用 getElementsByTagName nodeValue不会返回元素的文本。改用textContent 此外,如果XML与您期望的结构不完全匹配,那么代码将失败。你也应该考虑合并一些错误处理。你想让我猜一猜为什么它对你不起作用,然后试着在银盘上放点别的东西吗?我只知道你为什么这么粗鲁。两个原因:1

在上面的代码中,我想访问“title”的子级,在我的例子中,它是“name”。运行脚本后,父级(标题)无法访问其子级“名称”

您的代码有两个问题:

  • childNodes
    不是按标记名索引的哈希。使用
    getElementsByTagName
  • nodeValue
    不会返回元素的文本。改用
    textContent

  • 此外,如果XML与您期望的结构不完全匹配,那么代码将失败。你也应该考虑合并一些错误处理。你想让我猜一猜为什么它对你不起作用,然后试着在银盘上放点别的东西吗?我只知道你为什么这么粗鲁。两个原因:1。当人们试图帮助你时,你可能想表达一些感激之情。你无权帮忙。2.如果你不告诉我为什么它对你不起作用,我怎么知道会发生什么?这对我很有用。老兄,我误解了你的答案。谢谢你解决了我的问题
    <!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>