【发布时间】:2015-02-06 18:41:33
【问题描述】:
我正在尝试使用返回 XML 响应的 Rest 服务。我已成功发出获取请求,我的问题是处理响应。响应包含一个名称空间,该名称空间似乎弄乱了我的 linq 查询。我已经尝试了几乎所有我能想到的用户名总是空的。任何帮助将不胜感激,并可能挽救我的理智。
<?xml version="1.0" encoding="UTF-8"?>
<tsResponse xmlns="http://tableausoftware.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableausoftware.com/api http://tableausoftware.com/api/ts-api-2.0.xsd">
<users>
<user id="c9274ce9-0daa-4aad-9bd2-3b1d6d402119" name="_DevITTemplate" role="Unlicensed" publish="false" contentAdmin="false" lastLogin="" externalAuthUserId=""/>
string usersList =
request.DownloadString("http://bshagena-sandbox/api/2.0/sites/b4126fe9-d7ee-4083-88f9- a5eea1f40416/users/");
request.Dispose();
XDocument xd;
XElement users;
XNamespace ns = "http://tableausoftware.com/api";
xd = XDocument.Parse(usersList);
users = xd.Root.Elements().First();
var userNames = from a in users.Descendants(ns +"users")
select (string)a.Attribute("name").Value;
【问题讨论】:
标签: c# xml namespaces