Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从xsd文件获取元素类型前缀_C#_Xml_Xsd - Fatal编程技术网

C# 从xsd文件获取元素类型前缀

C# 从xsd文件获取元素类型前缀,c#,xml,xsd,C#,Xml,Xsd,我对解析xsd文件相当陌生,目前我必须从下面的元素中获取元素类型的前缀 <xsd:element name="USAddress" type="irs:USAddressType"> <xsd:annotation> <xsd:documentation> <Description>United States Address</Description> <LineNu

我对解析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”,那就太好了。

下面是我使用的(很抱歉,它是用java编写的)

公共静态字符串findNSQualifier(文档dom){
元素e=dom.getDocumentElement();
字符串regex=“xmlns:([a-z]+)=\”“+XSD\u NS+”\”;
对于(int i=0;i
感谢您的快速回复。但我找到了一个办法。
xmlns:irs="http://www.irs.gov/file"
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;
}