2017-04-22 70 views
-1

所以我有以下XML文件作爲XmlDocument xmlDoc;XML轉換爲字符串在C#

<?xml version="1.0" standalone="yes"?> 
<metars> 
    <status>success</status> 
    <data> 
    <metar>KPIE 111653Z 07006KT 10SM CLR 26/13 A3024</metar> 
    </data> 
</metars> 

現在只是單純的想作爲一個String <metar></metar>之間的文本。但是如何?

回答

0

您可以使用XPath query這樣的:

using System; 
using System.Xml; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string s = @"<?xml version=""1.0"" standalone=""yes""?> 
<metars> 
    <status>success</status> 
    <data> 
    <metar>KPIE 111653Z 07006KT 10SM CLR 26/13 A3024</metar> 
    </data> 
</metars>"; 

      XmlDocument xmlDoc = new XmlDocument(); 
      xmlDoc.LoadXml(s); 
      string t = xmlDoc.SelectSingleNode("//metar")?.InnerXml; 

      Console.WriteLine(t); 
      Console.ReadLine(); 
     } 
    } 
} 

輸出:

KPIE 111653Z 07006KT 10SM CLR 26/13 A3024

?.使用null-conditional operator以防萬一沒有元素「< metar>」。