相关疑难解决方法(0)

如何反序列化XML文档

如何反序列化此XML文档:

<?xml version="1.0" encoding="utf-8"?>
<Cars>
  <Car>
    <StockNumber>1020</StockNumber>
    <Make>Nissan</Make>
    <Model>Sentra</Model>
  </Car>
  <Car>
    <StockNumber>1010</StockNumber>
    <Make>Toyota</Make>
    <Model>Corolla</Model>
  </Car>
  <Car>
    <StockNumber>1111</StockNumber>
    <Make>Honda</Make>
    <Model>Accord</Model>
  </Car>
</Cars>
Run Code Online (Sandbox Code Playgroud)

我有这个:

[Serializable()]
public class Car
{
    [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
    public string StockNumber{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Make")]
    public string Make{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Model")]
    public string Model{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

.

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

.

public class CarSerializer
{
    public Cars Deserialize()
    {
        Cars[] …
Run Code Online (Sandbox Code Playgroud)

c# xml asp.net serialization xml-deserialization

453
推荐指数
12
解决办法
64万
查看次数

如何获取程序文件x86 env变量?

我想知道如何在命令提示符下显示Program Files(x86)的位置.我正在使用Windows 7 64位.

我试过了:

echo %programfiles(x86)%并且echo %programfiles%,
两者都只显示C:\Program Files

当我手工检查注册表,
HKLM /软件/微软/窗/ CURRENTVERSION,
programfilesdirC:\Program Files

HKLM /软件/ WOW64 /微软/的Winodws/CURRENTVERSION,
programfilesdirC:\Program Files (x86).

但是,为什么我总是用C:\ Program Files?

windows environment-variables windows-7-x64

104
推荐指数
4
解决办法
23万
查看次数

37
推荐指数
1
解决办法
7万
查看次数

如何将XSD文件转换为C#类

我有一个XSD格式的文件.如何将其转换为C#类?

我需要在其他Web应用程序中使用类引用,我需要按照以下方式进行调用:

var res = client.Post<Customer>("/customers", c ); 
Run Code Online (Sandbox Code Playgroud)

c# xsd servicestack

27
推荐指数
1
解决办法
9万
查看次数

如何以编程方式检测和定位Windows 10 SDK?

TL; DR

是否有Windows注册表项(或其他易于编程的方式)来查找和检测适用于SDK V10.0的Windows SDK?


我在做类似的东西这个,利用一些伴随着工装的视窗10 SDK.

我正在寻找一种检测和定位Windows SDK程序方法.此技术必须适用于(至少)10.0版本(此问题的当前版本).最好,我想要一种适用于所有版本的技术(世界和平也会很好).

以前的版本(至少高达V8.1A - 与Visual Studio 2013一起提供)可通过Windows注册表检测到.(虽然V <7.0 可能不是).

对于64位安装: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows(请注意32位的粗体差异).

而对于32位安装: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\WindowsHKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SDKs\Windows

(有关MSDN Windows SDK博客的更多信息).

但是,V10.0(或Visual Studio 2015中包含的V10.0A)不像以前的版本那样创建注册表项!

有些技术使用编译器宏检测 SDK版本.但是,这些对于SDK工具使用(xsd.exe等)来说并不实用,因为它们需要整个编译步骤 - 这不一定会产生SDK工具目录的路径!

理想情况下,这应该可以使用PowerShell或批处理脚本或其他一些可以包含在构建脚本或其他自动化环境中的简单方法来实现(毕竟它们是编程工具).


注意:

有办法做到这一点通过询问文件系统,(编程上市的子目录%ProgramFiles(x86)%\Microsoft SDKs\Windows\,解析了"V"和"A'S和选择max()10.0列出的数字(等的)...

但是,这些方法有许多缺点:

  1. 相当笨重(文件系统访问,字符串解析等)
  2. 容易出错,从错误卸载的SDK中剩余的空文件夹可能会导致笨重的目录解析.
  3. 根据路径差异,通过平台( %ProgramFiles(x86)%在x64上,但%ProgramFiles% …

windows sdk winapi visual-studio windows-10

12
推荐指数
3
解决办法
8277
查看次数