我有这个XML文件
<root>
<level1 name="A">
<level2 name="A1" />
<level2 name="A2" />
</level1>
<level1 name="B">
<level2 name="B1" />
<level2 name="B2" />
</level1>
<level1 name="C" />
</root>
Run Code Online (Sandbox Code Playgroud)
有人可以使用LINQ给我一个C#代码,这是打印此结果的最简单方法:(
如果它是一个level2节点,请注意额外的空间)
A
A1
A2
B
B1
B2
C
Run Code Online (Sandbox Code Playgroud)
目前我得到了这段代码
XDocument xdoc = XDocument.Load("data.xml"));
var lv1s = from lv1 in xdoc.Descendants("level1")
select lv1.Attribute("name").Value;
foreach (var lv1 in lv1s)
{
result.AppendLine(lv1);
var lv2s = from lv2 in xdoc...???
}
Run Code Online (Sandbox Code Playgroud) 我正在收到一个类型的对象,System.Net.Http.HttpResponseMessage<List<T>>我该如何获得List<T>?
我尝试转换内容属性并通过其value属性从content属性中获取值,但似乎没有任何效果.
谢谢您的帮助!
我有一个现有的,工作的ASP.NET MVC 4 Web应用程序.我写了自己的RoleProvider,我正在使用标准的[Authorize]属性.我的控制器看起来像这样:
[Authorize(Roles="ContactAdmins")] //System.Web.Mvc
public ActionResult Index()
Run Code Online (Sandbox Code Playgroud)
我想在我的应用程序中添加一个WebAPI控制器,并利用我现有的管道
[Authorize(Roles="ContactAdmins")] //System.Web.Http
public IEnumerable<Contact> Get()
Run Code Online (Sandbox Code Playgroud)
这适用于我的网站内的Javascript ajax调用(因为浏览器用户已经使用Forms身份验证cookie进行了身份验证).我的问题来自C#控制台应用程序(或任何其他不属于我的Web应用程序的应用程序)如何对此API进行身份验证?
让我们假设对于我公开的API的部分,我使用的代码非常类似于在MVC3中使用WebApi这个问题.
var url = "http://localhost:9000/api/contacts";
using (var client = new WebClient())
using (var reader = XmlReader.Create(client.OpenRead(url)))
{
var serializer = new XmlSerializer(typeof(Contact[]));
var contacts = (Contact[])serializer.Deserialize(reader);
// TODO: Do something with the contacts
}
Run Code Online (Sandbox Code Playgroud)
我需要在这里修改什么?或者我是否必须废弃这个并使用完全不同的方法?我并不依赖于使用远程客户端的API身份验证表单,但我想保留当前优雅的方法,用于作为应用程序一部分的JavaScript客户端(只是请求API,因为表单cookie已设置).