加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在java的org.w3c.dom.Node中获取TEXT_NODE的标记名

发布时间:2020-12-15 02:53:56 所属栏目:Java 来源:网络整理
导读:在该接口的文档中,它声明文本节点都返回“#text”作为其名称而不是实际的标记名称.但是对于我正在做的事情,标签名称是必要的. // I'm using the following importsimport javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactor
在该接口的文档中,它声明文本节点都返回“#text”作为其名称而不是实际的标记名称.但是对于我正在做的事情,标签名称是必要的.
// I'm using the following imports
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;


// In the .xml input file
<country>US</country>  // This is a "text node" .getTextContent()
                       // returns "US",I need "country" and .getNodeName() 
                       // only returns "#text"

我怎么能访问标签名称?这必须是某种可能的,我不介意一个hackish解决方案.

文档:

http://www.w3schools.com/dom/dom_nodetype.asp

http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Node.html

谢谢.

解决方法

我认为你误解了涉及哪些节点.这个XML:
<country>US</country>

…包含两个节点:

>国家元素
>文本节点,内容为US

元素不是文本节点,文本节点没有元素名称,因为它不是元素.重要的是要了解这些是不同的节点.我相信,这是你所有困惑的根源.

如果您当前正在查看文本节点,则可以使用node.getParentNode().getNodeName()来获取元素名称.或者从元素节点,您可以调用getTextContent().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读