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.[color=red]getFirstChild()[/color].getNodeValue();
搞定。w3c也是非主流??请问。。。。介系一种行为艺术咩?
但是为这些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.[color=red]getFirstChild()[/color].getNodeValue();
搞定。w3c也是非主流??请问。。。。介系一种行为艺术咩?