2013-05-10 85 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 
}