C#XmlReader冒号问题(命名空间)

问题描述 投票:1回答:1

我对XMLReader类有一个奇怪的问题。我从URL获取原子提要,并且xml树的一些元素命名如下:

<element:title>Hello World!</element:title>
<element:text>This is just an example</element:text>
<element:id>1</element:id>

我正在使用

[XmlElement("element:id")]

但这不起作用。当我查看代码时,我看到读者将其解析为

element_x003A_id

但是,如果我使用

[XmlElement("element_x003A_id)]

我一无所获。我试图摆弄Xml​​编码,但该属性是只读的。我怎么能逃避这个,所以我可以得到元素的内容(如果元素没有分号,它工作得很好)?

c# feed atom-feed
1个回答
4
投票

element是名称空间别名。某处,你有(通常在文件的顶部)

<foo ... xmlns:element="http://something/blah/blog">

“http:// something / blah / blog”非常重要。基本上,你需要:

[XmlElement("id", Namespace="http://something/blah/blog")]
public int Id {get;set;}

或者因为它将被重复使用:

const string MyNamespace = "http://something/blah/blog";
//...
[XmlElement("id", Namespace=MyNamespace)]
public int Id {get;set;}
© www.soinside.com 2019 - 2024. All rights reserved.