c# - SharePoint XML 解析 c#

标签 c# xml

我有这样的 XML 结构,它是由 SharePoint Web 服务返回的。

<rs:data ItemCount="4" xmlns:rs="urn:company:rowset">
  <z:row ows_AssetId="HP010336520"  />
  <z:row ows_AssetId="HP010336519"  />
  <z:row ows_AssetId="HP010354403"  />
  <z:row ows_AssetId="HP010357062"  />
</rs:data>

    private static void Parser(List<XmlNode> data)
    {

        List<XmlNodeList> rows = (from row in data.AsEnumerable()
                            select row.SelectNodes("data/row")).ToList();
    }                               

我试图查询一行,但没有成功。你们能帮帮我吗?

最佳答案

查询节点列表时需要使用XmlNamespaceManager。在您的代码中看不到文档根目录中“z”命名空间的声明:xmlns:z="#RowsetSchema"。

在您的解析器方法中尝试以下操作:

    NameTable nameTable = new NameTable();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nameTable);
    nsmgr.AddNamespace("z", "#RowsetSchema");

    List<XmlNodeList> rows = (from row in data.AsEnumerable()
                              select row.SelectNodes("//z:row", nsmgr)).ToList();

关于c# - SharePoint XML 解析 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11295662/

相关文章:

c# - 绑定(bind)列表以获取带有 map 的图钉

java - 使用 Java 复制某些节点

android - 我如何在 xml 中的 ImageView 旁边制作一些 TextView

iphone - 如果 iWork 文档基于 XML,但 iOS 不支持 XML 持久性,那么 iPad 版 iWork 应用程序又如何呢?

xml - 使用 Notepad++ XML 工具创建 XSD

c# - 将 EntityFramework.Extended 添加到项目中

c# - 获取两个数据表中的公共(public)行

c# - .NET 的整数不就是简单地基于补码系统吗?

C# .NET 打印出格式化的 ArrayList

android - 在 Google map fragment android 上显示透明布局