我正在尝试解析一个简单的xsd文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="NickName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
<Description>nick name</Description>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>
我想获取整个NickName元素,我正在使用以下命令
NodeList nodes = xsdDocument.getDocumentElement().getElementsByTagName("element");
但我在节点中得到null。任何人都可以帮我理解我在这里做错了什么。我试图获取xsd中标签名称为“element”的所有节点我在这里缺少什么?
答案 0 :(得分:2)
您应该使用Element.getElementsByTagNameNS()来说明命名空间:
NodeList nodes = xsdDocument.getDocumentElement().getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "element");