Element.getElementsByTagName不适合我

时间:2013-10-10 00:10:05

标签: xml xml-parsing xsd

我正在尝试解析一个简单的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”的所有节点我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

您应该使用Element.getElementsByTagNameNS()来说明命名空间:

NodeList nodes = xsdDocument.getDocumentElement().getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "element");