DOM解析xml文档节点下的所有子节点,怎么样只输出标签名而没有<#text>标签
2016-10-31 09:26
267 查看
XML文档:<?xml version="1.0" encoding="UTF-8"?><matchineroot nodetype="machine"><m_project nodetype="module" name="工程" address="ff" pNode="long/module/gsm/far_engineer1.xml"></m_project><m_cpu nodetype="module" name="MCU参数" power="1" address="00" pNode="long/module/gsm/far_mcu.xml"></m_cpu><m_digital nodetype="module" name="数字模块" power="1" address="ef" pNode="long/module/gsm/far_digital2.xml"></m_digital><m_rf nodetype="module" name="小信号模块" power="1" address="01" pNode="long/module/gsm/far_if.xml"></m_rf><m_pa nodetype="module" name="功放板" power="1" onekeycfg="1" address="e3" pNode="long/module/gsm/pa2.xml" ></m_pa></matchineroot>现在我要遍历根节点matchineroot节点下所有子节点并获得节点名,如果直接用DOM遍历节点的方法输出的节点名不仅包含文档中所有子节点名,还会输出很多<#text>,事实上node instanceof Text的场合:输出是:#text,node instanceof Element的场合:输出是:标签名,所以要加一个节点类型的判断才可以只输出节点名,即if(nodes.item(j) instanceof Element),完整代码如下:
var root = xmlDoc.getElementsByTagName("matchineroot"); for (i = 0; i < root.length; i++) { var nodeItem = root.item(i); var nodes = nodeItem.childNodes; for (j = 0; j < nodes.length; j++) { if (nodes.item(j) instanceof Element) {//判断是否属于属性节点,如果不加判断则会循环出text节点 nodeName = nodes.item(j).nodeName; name = xmlDoc.getElementsByTagName(nodeName)[0].getAttribute("name"); if (module == name) {//通过判断查询的模块进一步查找相应的xml文档节点名 pNode = xmlDoc.getElementsByTagName(nodeName)[0].getAttribute("pNode"); break; } } } }
相关文章推荐
- Struts2:struts2中的 <s:textfield />标签:日期格式化输出
- 您是不是奇怪为什么 <script> 标签中没有 type="text/javascript" 属性?
- struts2 <s:property/>标签的使用--输出时间格式转换
- struts 2标签 <s:textfield> 样式问题
- 让tinyMce输出<pre>标签html代码自动换行
- 在使用struts标签时,把<s:if>中的test写成了text
- struts2 <s:textfield />中的日期格式化输出
- struts 2标签 <s:textfield> 样式问题
- struts2 <s:textfield />中的日期格式化输出
- jQuery去掉指定标签里所有文字内容对应的链接,==去掉<a>标签
- struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式
- [转]<不知道能否解决先转下来再说>不显示删除回复显示所有回复显示星级回复显示得分回复 没有找到MSVR90D.dll因此这个应用程序未能启动
- 用 struts2 <s:date> 标签 格式化输出时间
- js 笔记 第一章在html中使用<javascript>标签 以及 html文档模式
- js 笔记 第一章在html中使用<javascript>标签 以及 html文档模式
- struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式
- <s:textfield>标签的tr问题
- HTML标签<textarea></textarea>中没有value属性?
- struts2标签:<s:if><s:else>实现选择输出
- Struts2 中利用 <s:iterator标签 批量输出 <input type="checkbox">判读是否被选中