2016-04-07 25 views
0
<?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號線如何從一名合格的名稱得到xmlschemacomplextype

+0

你究竟想達到什麼目的?你有什麼嘗試?你能提供一些示例代碼和預期輸出嗎? – RePierre

+0

在上面的xml中,我的輸入和輸出是用給定輸入解析字符串後的文本。 輸入= bwsResponse(字符串) 輸出= xmlschemacomplextype 我在這裏 –

+0

在上面的XML撥動我的輸入和輸出是與解析給定的輸入字符串後下方文本(第3行)。 輸入= bwsResponse(字符串) 輸出= xmlschemacomplextype(行3) 我在這裏被擊中 –

回答

0

根據您的意見,我的結論是,你需要描述複雜的數據類型全要素獲得與NAME =「bwsResponse」 xmlschemacomplextype bwsResponse

要做到這一點,你需要:

加載XML文件轉換爲XElement

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

篩選後代通過LocalNamename屬性的值(這些是不一樣的)

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

現在你可以隨心所欲地做任何事情。