我尝试获取 head - >的子节点的名称。文本节点(所以我需要 我写的时候不喜欢
var headerstyles = xmlDoc.getElementsByTagName("head")[0].getElementsByTagName("style")[0].childNodes;
for (i=0;i<headerstyles.length;i++)
{
alert (headerstyles[i].nodeName);
}
我得到回复 #text color #text font #text
所以在看到实际的NodeName之前我不明白我得到了这个 #text 我该如何解决这个问题。
这是我的代码
xmlhttp.open("GET","desc.xml",false);
xmlhttp.send();
alert (xmlhttp.responseText);
xmlDoc=xmlhttp.responseXML;
alert (xmlDoc);
var headerstyles = xmlDoc.getElementsByTagName("head")[0].getElementsByTagName("style")[0].childNodes;
for (i=0;i<headerstyles.length;i++)
{
alert (headerstyles[i].nodeName);
}
这是我的desc.xml
<docs>
<main>
<bgrnd>
<img> </img>
<color> </color>
</bgrnd>
<head>
<text>Learning about Birds</text>
<style>
<color>red</color>
<font>italic bold 30px Georgia,serif</font>
</style>
</head>
<text>
<link>
<l>
<dscrpt>Lesson 1 - Diet and feeding; Water and Drinking</dscrpt>
<hrf> diet.html </hrf>
</l>
<l>
<dscrpt>Lesson 2 - Feather Care </dscrpt>
<hrf> feather.html </hrf>
</l>
<l>
<dscrpt>Lesson 3 - Level three </dscrpt>
<hrf> item3.html </hrf>
</l>
</link> ... and so on
............................................
答案 0 :(得分:0)
#text 指的是文本节点。在您的情况下,您将使用children
而不是childNodes
。
xmlhttp.open("GET","desc.xml",false);
xmlhttp.send();
alert (xmlhttp.responseText);
xmlDoc=xmlhttp.responseXML;
alert (xmlDoc);
var headerstyles = xmlDoc.getElementsByTagName("head")[0].getElementsByTagName("style")[0].children;
for (i=0;i<headerstyles.length;i++)
{
alert (headerstyles[i].nodeName);
}
查看子节点和子节点here
之间的不同