首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XmlReader会自动将命名空间附加到所有元素中,从而使干净的linq查询变得不可能。

XmlReader会自动将命名空间附加到所有元素中,从而使干净的linq查询变得不可能。
EN

Stack Overflow用户
提问于 2012-03-29 04:20:23
回答 1查看 271关注 0票数 0

我正在使用XmlReader和XDocument查询gmail提要,并且在自动将名称空间附加到所有元素时遇到麻烦。

代码语言:javascript
运行
复制
        XmlUrlResolver resolver = new XmlUrlResolver();
        resolver.Credentials = new NetworkCredential(username, password);

        XmlReaderSettings settings = new XmlReaderSettings();
        settings.XmlResolver = resolver;

        XmlReader reader = XmlReader.Create("https://mail.google.com/mail/feed/atom/", settings);

        XDocument doc = System.Xml.Linq.XDocument.Load(reader);

        var entries = from x in doc.Elements().First().Elements() where x.Name == "entry" select x;

在这种情况下,条目将为空,因为所有元素都有自动附加到它们的命名空间。如果我将x.Name更改为x.Name.LocalName或namespace+x.Name,那么它就能工作。

我希望防止XmlReader自动附加名称空间,并询问它最初是如何发送给我的--没有名称空间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-29 04:49:58

XmlReader不太可能“自动附加名称空间”,因为它通常从不修改XML的内容。我认为所有节点都已经有了名称空间(如果您发布了示例XML,可以确认它),所以您必须处理它。

您可以选择:只需使用名称空间或通过将节点移动到您选择的命名空间来转换XML。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9919017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档