2013-05-10 81 views
-3

我有以下XML爲:如何使用C#從XML獲取特定的XML值?

<Requests xmlResponse="true"> 
<Request response="yes" responsewait="120000" sequence="1" type="Fulfillment"> 
<RequestData> 
    <PrintControl>FTP</PrintControl> 
    <User>81DF</User> 
    <Documents> 
    <AddressChangeLetter> 
     <DocumentInfo> 
     <AddressChange AddressChangeId="109346" Branch="418" LastChangeDate=""> 
      <Name>AAA NOVAK</Name> 
      <TaxID>123123121</TaxID> 
      <OldAddress1>BOX 216</OldAddress1> 
      <OldAddress2>NYANE 68017</OldAddress2> 
      <OldAddress3 /> 
      <OldAddress4 /> 
      <NewAddress1>P O BOX 216</NewAddress1> 
      <NewAddress2>CERESCO NE 68017</NewAddress2> 
      <NewAddress3 /> 
      <NewAddress4 /> 
      <DateChanged>05/08/2013</DateChanged> 
      <AccountInfo AcctNum="231232311" AcctStatusCodes="IX" /> 
     </AddressChange> 
     </DocumentInfo> 
    </AddressChangeLetter> 
    </Documents> 
</RequestData> 

我希望得到的名稱或正在標籤「文檔」的價值。由於在上面的XML中,「Document」標籤下的標籤是「AddressChangeLetter」,因此我想獲取這個名稱。我將如何做到這一點。

+1

'我會怎麼辦it.'通過使用XML解析器像[LinqToXml(http://msdn.microsoft.com/en-us/library/bb387061.aspx) – I4V 2013-05-10 10:35:56

+1

[你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – Jan 2013-05-10 10:37:54

+0

請不要請人做你的功課.. – Shaz 2013-05-10 10:38:56

回答

0

線沿線的東西......(它並不完美,但它會幫助您開始 - 谷歌,我使用的功能得到它正常工作):這是可以做到

XmlDocument xml = new XmlDocument(); 
xml.Load(yourPathGoesHere) 

XmlNodeList addressNodes = xml.GetElementsByTagName("AddressChange"); 

foreach (XmlNode oneNode in addressNodes) { 
    myVariableToGrabNames = oneNode["Name"].InnerText; 
} 
0

很容易使用Linq to XML例如

var xml = ...; 
var xdoc = XDocument.Parse(xml); 
foreach (var e in xdoc.Descendants("Documents").Elements()) 
{ 
    var name = e.Name; // AddressChangeLetter 
}