2015-02-10 84 views
0

我是相当新的解析xsd文件,目前我必须从下面的元素获取元素类型的前缀。从xsd文件获取元素类型前缀

<xsd:element name="USAddress" 
      type="irs:USAddressType"> 
    <xsd:annotation> 
    <xsd:documentation> 
     <Description>United States Address</Description> 
     <LineNumber>Line H(3)</LineNumber> 
    </xsd:documentation> 
    </xsd:annotation> 
</xsd:element> 

我想看看是否可以从类型=值“IRS”:在上述元件“IRS USAddressType”。

该代码当前获取与此前缀关联的名称空间。

XmlSchemaElement.QualifiedName.Namespace给了我与已经在上面定义了XSD文件,如前缀国税局下面

xmlns:irs="http://www.irs.gov/file" 

如果有一种方法,我可以得到这个这将是巨大的关联的命名空间前缀“irs”。

回答

0

这里是我使用(抱歉,这是在Java)

public static String findNSQualifier(Document dom){ 
    Element e = dom.getDocumentElement(); 
    String regex = "xmlns:([a-z]+)=\"" + XSD_NS + "\""; 
    for(int i = 0; i < e.getAttributes().getLength(); i++){ 
     Node attr = e.getAttributes().item(i); 
     Pattern p = Pattern.compile(regex); 
     Matcher m = p.matcher(attr.toString()); 
     if(m.find()) 
      return m.group(1); 
    } 
    return null; 
} 
+0

感谢您的快速回复詹姆斯。但我能找出一个办法。 – user3375390 2015-02-12 18:18:53