我正在使用Apache Xerces来解析xml,出于某些原因,我需要找到元素在xsd中定义了多少个属性。 element.getAttributes只给我所有现有属性。有什么想法吗?
答案 0 :(得分:1)
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader");
XSLoader schemaLoader = impl.createXSLoader(null);
XSModel xsModel = schemaLoader.loadURI(xsdResource.getURL().getPath());
((XSComplexTypeDecl) xsModel.getComponents(XSTypeDefinition.COMPLEX_TYPE).itemByName(xsdName, "typeName")).getAttrGrp().getAttributeUses();