簡體   English   中英

在C#中讀取帶有名稱空間的xml文件

[英]reading xml file with namespaces in c#


我的XML幾乎以

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

因此,要使用x:Type來賦予屬性x:Name

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

我使用了這個linq查詢:

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),說名稱中不能使用冒號。 網址中有一個。
我究竟做錯了什么? 有什么方法可以避免使用冒號嗎?

正如Cory提到的,我使用字符串而不是xNamespace.get。 應該是:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM