使用 xmlns 选择 XElements
如何选择指定了 xmlns 的元素?我需要选择包含/片段元素。我尝试添加 http://schemas.microsoft.com/wix/2006/wi 在元素名称之前,但这不起作用。在 XmlDocument 中有 NamespaceManager 功能,但我在 XDocument 中没有看到相同的东西。那么如何选择带有 xmlns 的元素呢?
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment/>
</Include>
我已经尝试过:
IEnumerable<XElement> Fragments = d.Element("Include").Elements("Fragment");
和
const string xmlns="http://schemas.microsoft.com/wix/2006/wi/";
IEnumerable<XElement> Fragments = d.Element(xmlns+"Include").Elements(xmlns+"Fragment");
How do you select an element with xmlns specified? I need to select Include/Fragment element. I've tried adding http://schemas.microsoft.com/wix/2006/wi before element names, but that doesn't work. In XmlDocument there was NamespaceManager functionality, but I don't see same stuff in XDocument. So how do I select an element with xmlns?
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment/>
</Include>
I've tried:
IEnumerable<XElement> Fragments = d.Element("Include").Elements("Fragment");
and
const string xmlns="http://schemas.microsoft.com/wix/2006/wi/";
IEnumerable<XElement> Fragments = d.Element(xmlns+"Include").Elements(xmlns+"Fragment");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需将
xmlns
变量设置为XNamespace
(而不仅仅是字符串):那么它应该可以正常工作!
You just need to make your
xmlns
variable aXNamespace
(instead of just a string):then it should work just fine!
我尝试在这里实现代码: http://msdn.microsoft.com/en -us/library/bb675197.aspx
它还将其转换为列表。希望有帮助
I tried to implement the code here: http://msdn.microsoft.com/en-us/library/bb675197.aspx
It also converts it to a list. Hope that helps