如何从限定名称获取xmlschemacomplextype

时间:2016-04-07 14:13:21

标签: c# xsd

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="bwsResponse"> // How to get the xmlschemacomplextype  from the bwsResponse
    <xsd:sequence>
    <xsd:element name="errReason" minOccurs="0" type="xsd:string"/>
    <xsd:element name="errStatus" type="xsd:int"/>
    <xsd:element name="errText" minOccurs="0" type="xsd:string"/>
    <xsd:element name="transactionId" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>

如何从第3行获取名称=“bwsResponse”的xmlschemacomplextype

1 个答案:

答案 0 :(得分:0)

根据您的评论,我得出结论,您需要描述复杂类型bwsResponse的整个元素。

为此,您需要:

将xml文件加载到XElement

var xml = XElement.Load(@".\path\to\your\file.xml");

LocalName过滤后代和name属性的值(不一样)

var element = xml.Descendants()
    .Where(e => e.Name.LocalName == "complexType")
    .Where(e => e.Attribute("name") != null && 
            e.Attribute("name").Value == "bwsResponse")
    .SingleOrDefault();

现在你可以用它做任何你想做的事。