2017-02-28 245 views
0


我的XML幾乎讀取XML文件

xmlns:x="http://schema.metastorm.com/Metastorm.Common.Markup" 

於是開始去屬性X:類型

<x:Object 
    x:Name="someName" 
    x:Type="{pref_-1582514068:MboField}"> 

我用這個LINQ查詢:與specyfic第十名:

string xmlns = "http://schema.metastorm.com/Metastorm.Common.Markup"; 

IEnumerable<string> values = from x in xdoc.Descendants(xmlns+"Object") 
         where x.Attribute(xmlns+"Type").ToString().EndsWith("MboField}") 
         select x.Attribute(xmlns+"Name").Value.ToString(); 

但是我得到錯誤(System.Xml.XmlException)說,結腸characte r不能用在名字裏面。網址中有一個。
我在做什麼錯?有沒有辦法避免使用冒號?

+0

至少,你可以嘗試谷歌你的問題標題。這裏有很多類似的問題。 –

+3

[如何用命名空間解析XML]可能的重複(http://stackoverflow.com/questions/18230605/how-to-parse-xml-with-namespace) –

+2

我以前有同樣的問題。 'xmlns'應該是'XNamespace'。 'var xmlns = XNamespace.Get(「http://schema.metastorm.com/Metastorm.Common.Markup」);'。保持代碼的其餘部分相同。這是[答案](http://stackoverflow.com/a/9335902/74757)我收到了。 –

回答

0

as Cory提到我用字符串代替xNamespace.get。它應該是:

var xmlns = XNamespace.Get("http://schema.metastorm.com/Metastorm.Common‌​.Markup")