XML解析之xsi:nil="true"
——amachaoiv 2008-01-31 首先,我们来看看一个应用 xsi:nil="true"的例子。
在下面的XML中<street xsi:nil="true"/> 表示在获取"street"元素的内容时, 在xsi:nil属性的控制下,其返回值应该为null。这跟一般的XML读取不一样,我们需要考虑其 属性 对元素内容的影响。






















如何获取系统地获取xsi:nil的值非常重要。(xsi这个命名空间中还有其他的属性, 如:xsi:type等)
由于现在对xsd坐检查的API比较多,但能直接获取xsi:nil比较少,下面给大家展现一下应用Xerces进行读取的例子。
应该到 org.apache.xerces.parsers.DOMParser 类作为xml的分析类,com.sun.org.apache.xpath.internal.XPathAPI用来进行Xpath的读取。
org.apache.xerces.xs.ElementPSVI就是包含有xsi:nil信息的类。























org.w3c.dom.Node node = com.sun.org.apache.xpath.internal.XPathAPI.selectSingleNode(doc,

















注意:在没有配置好对应的XSD时,会出现这样的提示信息。xsi:nil也无法正常获取。


需要创建一个primer.xsd放在对应的目录下。






































































这样运行出来的结果是:
****true
多谢阅读!