`
moderating
  • 浏览: 210722 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

org.w3c.dom.Element执行getNodeValue总是返回null?

阅读更多
xml。。。。很常用,写个配置文件、传个平台无关的数据。。。很常见

但是为这些xml编写规范的DTD或者schema的。。。不太常见。。因为太麻烦。。。xml人人都看得懂,费那劲干嘛。。。。

以前都用dom4j之类的框架,好用。。。随便用。。。

后来用不了了,老老实实拿org.w3c.dom来写。。。

比如这个xml:
<root>
  <name>admin</name>
</root>

太简单了:
Document doc=........;
Element root=doc.getDocumentElement();
Element nameNode=(Element)root.getElementsByTagName(name).item(0);
String name=nameNode.getNodeValue();

准备收工。。。。什么,得到的是null?你没看错吧?

翻了文档,w3c对于xml的节点类型有严格规定,我们又没有自己编写DTD或者schema来指定数据类型的习惯,所以w3c就按自己的理解来了。所以。。name节点有两个身份,第一它是Node,没有值,第二它是Node的children,有一个text的值==admin。所以你要这样:

String name=nameNode.getFirstChild().getNodeValue();

搞定。w3c也是非主流??请问。。。。介系一种行为艺术咩?
分享到:
评论

相关推荐

    java dom 解析 xml 实例

    import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomParse { public DomParse() { DocumentBuilderFactory domfac = ...

    W3C DOM操作

    ### W3C DOM操作知识点详解 #### 一、DOM与W3C标准 - **DOM (Document Object Model)**:是一种处理可扩展标记语言(如 XML 和 HTML)的标准接口。它定义了如何通过编程语言访问文档的结构、内容及属性。 - **W3C ...

    Java解析XML文档—使用DOM解析.doc

    import org.w3c.dom.Element; public class DomParse { public DomParse() { try { DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance(); DocumentBuilder dombuilder = domfac....

    Java与XML(一):采用DOM操作XML文件.docx

    import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomXML { public void parseXML(String fileName) { try { ...

    使用递归和dom遍历dom树形结构

    import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class RecursionBasedDomXmlParser { public static void main(String[] ...

    Java解析XML工具类--(java源码)

    import org.w3c.dom.Element; import org.w3c.dom.NodeList; /** * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** ...

    java 读xml文件

    import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomParse { public DomParse() { // 1. 创建 DOM 工厂实例 ...

    java中用dom解析xml的经典入门级文档

    1. **org.w3c.dom**:这是W3C推荐的用于XML文档对象模型的接口,定义了处理XML文档的基本接口和类。 2. **org.xml.sax**:用于对XML进行语法分析的事件驱动API。当解析器遇到文档中的特定元素时,会触发事件处理器,...

    dom规范和java中的实现(二).docx

    在Java中,DOM的实现通常基于`org.w3c.dom`包,提供了一系列接口来操作XML或HTML文档。本文将深入探讨DOM规范中的核心接口——Node接口及其相关方法。 Node接口是DOM树中的基本组件,它代表了树中的一个节点,可以...

    Java如何读取XML文件 具体实现

    import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; ``` 2. 创建`File`对象:定义一个`File`对象,指定XML文件的路径。这可以是相对路径或绝对路径。 ```java File f = new File...

    简析JAVA的XML编程.pdf

    import org.w3c.dom.*; import org.apache.crimson.tree.XmlDocument; ``` - **定义集合类**:使用`Vector`来存储多个`StudentBean`实例。 - **定义读写方法**: ```java private void readXMLFile(String in...

    java操作word可操作书签

    import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; public class WordBookmarkModifier { public static void main(String[] args) throws Exception { modifyDocumentAndSave("D:\\test....

    Android开发之DOM解析xml文件的方法

    然后,在代码中就可以使用org.w3c.dom包下的相关类来进行XML文件的解析操作。 接下来,需要在assets文件夹中准备一个XML文件。在Android Studio中,可以右键点击assets文件夹,选择New -&gt; Directory,然后创建一个...

Global site tag (gtag.js) - Google Analytics