- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从此 XML 返回属性值,它是从 Sharepoint Web 方法调用的 XmlNode 的集合。
XML 数据
<Lists xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<List DocTemplateUrl="" DefaultViewUrl="/Lists/Announcements/AllItems.aspx" MobileDefaultViewUrl="" ID="{E6172717-EB95-4845-B8CB-8161832565C6}" Title="Announcements" Description="Use the Announcements list to post messages on the home page of your site." ImageUrl="/_layouts/images/itann.gif" Name="{E6172717-EB95-4845-B8CB-8161832565C6}" BaseType="0" FeatureId="00bfea71-d1ce-42de-9c63-a44004ce0104" />
<List DocTemplateUrl="" DefaultViewUrl="/Lists/Calendar/calendar.aspx" MobileDefaultViewUrl="" ID="{C0735477-BE48-4DDF-9D93-3E1F8E993CEC}" Title="Calendar" Description="Use the Calendar list to keep informed of upcoming meetings, deadlines, and other important events." ImageUrl="/_layouts/images/itevent.gif" Name="{C0735477-BE48-4DDF-9D93-3E1F8E993CEC}" BaseType="0" FeatureId="00bfea71-ec85-4903-972d-ebe475780106" />
///... Several more like this
</Lists>
我一直在遵循一些不同的指南,刚刚经历了 like this one on DiC ,我已经设法让这些示例发挥作用。
public List<Dictionary<string, XmlAttribute>> GetListData(XmlNode collection)
{
#region Test
string nodeInput = Convert.ToString(collection.OuterXml);
TextReader sr = new StringReader(nodeInput);
//from <List> node, decendant of <Lists>
var lists = (from list in XElement.Load(sr).Descendants("List")
//where the baseType element value equals 0
where int.Parse(list.Element("BaseType").Value) == 0
//Output the titles values to a list
select list.Element("Title").Value).ToList();
}
#endregion
我一直在尝试根据我的数据调整一些示例,以便更好地了解它是如何工作的,但是这个查询没有返回任何与我预期不同的结果。我在评论的每一行旁边都写了我认为命令在做什么,有人能指出我的错误吗?
解决方案
一旦我知道 namespace 是问题所在,就很容易找到。
http://msdn.microsoft.com/en-us/library/bb669152.aspx与 VB 不同,C# 需要命名空间,即使节点没有前缀也是如此。
所以我需要一个XNamespace
XNamespace nameSpace = "http://schemas.microsoft.com/sharepoint/soap/";
XElement node = XElement.Parse(nodeInput);
var lists = from list in node.Descendants(nameSpace + "List")
select list;
foreach (var list in lists)
{
var doc = list.Document;
}
最佳答案
你的代码应该是
XNamespace ns = "http://schemas.microsoft.com/sharepoint/soap/";
var lists = (from list in XElement.Parse(nodeInput).Descendants(ns + "List")
where (int)list.Attribute(ns + "BaseType") == 0
select (string)list.Attribute(ns + "Title")).ToList();
关于c# - LINQ 和 XmlNodes 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787100/
我已经将所有 jar 都准备好了,当我在 weblogic 服务器上部署 application.war 文件时,它总是尝试使用自己的 jar 来存储 SOAPBodyElement,因此我收到了类似
我在 xml 操作方面有点新。我想创建一个 XmlNode。 我已经尝试过 OwnerDocument.CreateElement 方法,也尝试过 OwnerDocument.CreateNode 方
我必须使用具有更多同名值的节点创建 xml 文档 SI Gosposvetska 12 Kranj 使用 oNode.ChildValues['AdrLine'] := ... 这是不
我正在尝试在 libxml2 中查找允许我访问 xmlNode 的路径组件的结构、函数或宏。例如,如果 xmlGetNodePath 返回 /xml/a/b/c[42],我在哪里可以获得位置 (42)
我正在尝试对用户上传的表单中的字段进行计数。此“表单”作为 XML 文档出现。一切正常,但我遇到了一个问题,我需要计算表单中的所有字段,而我当前的代码只计算组和下面的一个级别。我需要我的代码进入这些组
我们有这样的 XML: Some text here Child 1 Child 2 我们正在使用 XmlDocument 来解析它。 当我们有“节点”元素的 XmlNo
我有一个 xml 文件... 我试图找到字符串 urlSearchPattern 中包含 urlSearchPattern 属性的第一个节点。我遇到问题的地方是找到
在 C# 中使用 Xml 序列化时,我想将输入 XML 的一部分反序列化为 XmlNode。 所以,给定这个 XML: 我想将 Document 元素反序列化为 X
我一直在使用基于 Java 的第 3 方 REST 网络服务,它返回一个 xmlNode 数组。 xmlNode[] 代表一个对象,我正在尝试找出反序列化对象中的 xmlNode[] 的最佳方法?是不
您好,我正在尝试向现有 xml 文件中的多个标签添加属性。这是 xml 结构: ... ... ... 我正在
我想向我的根 xmlnode 添加一个未命名的命名空间。我该怎么做呢? 错误信息 - - 元素或属性的本地名称不能为 null 或空字符串。 System.Xml.XmlDocumen
有谁知道错误在哪里?或者是将视频名称转换为字符串的更好方法? string text = "VIDEO NAME"; string xpath = "feed/entry"; XmlDocument
在 libxml2 中,我可以很容易地找到 xmlNode 来自的源代码行 (xmlNode::line),但我看不到如何找到名称它来自的文件。当加载的文档包含 XInclude 指令时,这尤其有用。
是否可以从具有所有属性、命名空间等的 XmlNode 获取打开标记? 例如。 test 我想从 XmlNode 和后来的结束标记中检索整个开始标记,如果可能的话,与从原始 XML 文档中检索
好的,我一直在研究一个类来遍历 html 文档中的所有节点并返回我需要的数据。这非常简单,我已经在 Bash 中实现了这一点,但现在我正试图将其移植到 C++。 我从 libxml 站点上的示例开始,
我想加载一个 XmlNode没有得到 XmlException当存在无法识别的 namespace 时。 原因是因为我需要将一个 XMLNode 实例传递给一个方法。我正在加载任意 XML 片段,这些
我正在使用 XPath 选择报告节点。现在我想知道的是如何在不知道节点是哪个节点的子节点的情况下从文档中删除该节点? 我尝试调用 .RemoveChild 并抛出此错误: The node to be
我的问题是这样的。假设我有这样的 xml Value1 Value2 Value1 Value2 Value3 我有一个方法获取参数
我正在使用充满 URL 的 XML 为学校创建一个 ping 应用程序。由于 XmlNode.Value 导致空值,我损失了一个小时。 然后我将其更改为 InnerText 并且效果很好。 现在我想知
我有以下 xml: sometext 我想用另一个标签包装这个 XmlNode: sometext 我怎样才能做到这一点。我使用 XmlDocument (C#) 进行解析。 最佳答案 如果您不关心新
我是一名优秀的程序员,十分优秀!