2015-02-10 39 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