我有如下XML文件:
xml prettyprint-override"><?xml version="1.0"?>
<catalog>
<book id="1" date="2012-02-01">
<title>XML Developer's Guide</title>
<price>44.95</price>
<description>
An in-depth look at creating applications
with XML.
</description>
</book>
<book id="2" date="2013-10-16">
<author>Mark Colsberg</author>
<title>Dolor sit amet</title>
<price>5.95</price>
<description>Lorem ipsum</description>
</book>
</catalog>
如何快速将其转换为C#类以通过LINQ使用access数据?我必须为任何XML文件情况手动编写类吗?那么JSON格式呢?
你有两种可能。
开始菜单>程序>Microsoft Visual Studio 2012>Visual Studio工具
中找到它,或者如果您有Windows8,可以在开始屏幕中键入开发人员命令提示符cd/d“c:\path\to\XML”
XSD file.xml
xsd/c file.xsd
就这样!您已经从C:\path\到\xml\file.cs
中的xml文件生成了C#类
using System;
using System.IO;
using System.Web.Script.Serialization; // Add reference: System.Web.Extensions
using System.Xml;
using System.Xml.Serialization;
namespace Helpers
{
internal static class ParseHelpers
{
private static JavaScriptSerializer json;
private static JavaScriptSerializer JSON { get { return json ?? (json = new JavaScriptSerializer()); } }
public static Stream ToStream(this string @this)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(@this);
writer.Flush();
stream.Position = 0;
return stream;
}
public static T ParseXML<T>(this string @this) where T : class
{
var reader = XmlReader.Create(@this.Trim().ToStream(), new XmlReaderSettings() { ConformanceLevel = ConformanceLevel.Document });
return new XmlSerializer(typeof(T)).Deserialize(reader) as T;
}
public static T ParseJSON<T>(this string @this) where T : class
{
return JSON.Deserialize<T>(@this.Trim());
}
}
}
public class JSONRoot
{
public catalog catalog { get; set; }
}
// ...
string xml = File.ReadAllText(@"C:\path\to\xml\file.xml");
var catalog1 = xml.ParseXML<catalog>();
string json = File.ReadAllText(@"C:\path\to\json\file.json");
var catalog2 = json.ParseJSON<JSONRoot>();
这里有一些在线XML<-->JSON
转换器:单击
给我最好的方式来写代码。 如何在C#中将XML文件转换为CSV文件,只显示以下标记: 输出CSV文件格式应如下所示:
问题内容: 我有以下XML文件,我需要在服务器中将其转换为JSON。最初,我认为我会将其转换为Dictionary,然后使用JavaScriptSerializer将其转换为JSON,但由于每列可能具有不同的值类型,所以我认为它不会起作用。有人在C#/ LINQ中做过类似的事情吗? 我需要保留每列的值类型(布尔,字符串,整数)。 我会很高兴就此提出任何建议,因为我刚刚开始使用XML。谢谢。 问题答
问题内容: 我有一个想要表示为C#类的复杂JSON对象。我在名为“ Form”的父类上有一个良好的开端,但是如何代表不同类型的集合(请参见下面的“ elements”对象)? 这是JSON对象: 我开始的课程看起来像这样: 如何处理“ elements”属性以获得所需的JSON输出? 我正在WCF 4.0和web.config中的以下属性一起使用:automaticFormatSelectionE
问题内容: 我试图将JSON输出转换为XML。不幸的是我得到这个错误: JSON根对象具有多个属性。根对象必须具有单个属性才能创建有效的XML文档。考虑指定DeserializeRootElementName。 这就是我到目前为止所创建的。 这是我的JSON输出: 我怎么解决这个问题? 问题答案: 尽管问题中提供的JSON并不完整,但您在顶层具有多个属性,如异常所示。您必须为其定义根以获取有效的X
问题内容: 我有一个XML文件 我必须将此XML转换为CSV文件。我听说我们可以使用XSLT进行此类操作。如何在Java中(带有/不带有XSLT)执行此操作? 问题答案: 用伪代码: 这个快速的小循环将在每行的末尾写一个逗号,但是我敢肯定您可以弄清楚如何删除它。 为了实际解析XML,我建议使用JDOM。它具有非常直观的API。
问题内容: 输入XML 输出Json 如何编写通用的xslt样式表,它将输入的xml转换为json 输入可能在根目录下有太多结果,在结果下可能有系统和名称,在系统下还有ID名称和值。 问题答案: 我从此处复制并粘贴的以下XSLT 应该可以帮助您将XML转换为JSON。谢谢 :)