读取XML文件
问题描述:
我的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不能用在名字里面。网址中有一个。
我在做什么错?有没有办法避免使用冒号?
答
as Cory提到我用字符串代替xNamespace.get。它应该是:
var xmlns = XNamespace.Get("http://schema.metastorm.com/Metastorm.Common.Markup")
至少,你可以尝试谷歌你的问题标题。这里有很多类似的问题。 –
[如何用命名空间解析XML]可能的重复(http://*.com/questions/18230605/how-to-parse-xml-with-namespace) –
我以前有同样的问题。 'xmlns'应该是'XNamespace'。 'var xmlns = XNamespace.Get(“http://schema.metastorm.com/Metastorm.Common.Markup”);'。保持代码的其余部分相同。这是[答案](http://*.com/a/9335902/74757)我收到了。 –