2013-05-31 38 views

回答

0

對於YouTube,我覺得你不需要是 - 谷歌已經API封裝專爲.NET:https://developers.google.com/youtube/2.0/developers_guide_dotnet

但是,如果您仍然希望做手工,LINQ到XML的方法,如後裔和Element採取XName作爲參數。從字符串到XName的轉換會自動爲您執行。您可以通過在Descendants和Element調用中的字符串之前添加XNamespace來解決此問題。小心,因爲你有兩個不同的命名空間在工作。

XNamespace ns = "http://gdata.youtube.com/schemas/2007"; 
var xElements = XElement.Parse(File.ReadAllText(@"c:\test\youtube.xml")) 
         .Descendants(ns + "accessControl"); 

沒有LINQ的會是這個樣子:

var xdoc = new XmlDocument(); 
xdoc.Load(@"c:\test\youtube.xml"); 
var namespaceManager = new XmlNamespaceManager(xdoc.NameTable); 
namespaceManager.AddNamespace("yt", "http://gdata.youtube.com/schemas/2007"); 
var xmlNodeList = xdoc.SelectNodes("//yt:accessControl", namespaceManager); 
+0

感謝您的答覆!你能告訴我如何在沒有LINQ的情況下執行它,因爲我的整個代碼已經在使用System.Xml的函數了。 – armin

+0

我已經更新了我的答案,但是我真的鼓勵你使用google的包裝器。 – Giedrius

+0

謝謝!需要做更多的編碼,直到我得到一個解析xml的竅門:) – armin