gpt4 book ai didi

c# - 如何将模式包含在 xml 中

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:55 25 4
gpt4 key购买 nike

当我使用 XmlSerializer 创建 XML 文件并尝试在 excel 中打开它时,我收到以下消息:

The specified XML source does not refer to a schema. 
Excel will create a schema based on the XML source data.

有什么方法可以将模式包含在 xml 文件中,这样 Excel(或任何其他程序)就不需要计算它了吗?

这是一个示例程序,展示了我如何创建我的 xml 文件。

namespace Sandbox_Console
{
internal class Program
{
private static void Main()
{
List<MyClass> test = new List<MyClass>();

test.Add(new MyClass() { Name = "Test", Foo = "Shazam"});
test.Add(new MyClass() { Name = "Test2", Foo = "Shazam2" });

XmlSerializer ser = new XmlSerializer(typeof (List<MyClass>));
using (var file = new FileStream(@"C:\Users\srchamberlain\Desktop\test.xml", FileMode.Create))
{
ser.Serialize(file, test);
}
}

}
public class MyClass
{
[XmlAttribute]
public string Name { get; set; }
[XmlElement]
public string Foo { get; set; }

}
}

生成的 XML

<?xml version="1.0"?>
<ArrayOfMyClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MyClass Name="Test">
<Foo>Shazam</Foo>
</MyClass>
<MyClass Name="Test2">
<Foo>Shazam2</Foo>
</MyClass>
</ArrayOfMyClass>

在我生成的真实文件中,文件大小超过 300 MB,解析数据需要很长时间,我希望通过提供架构可以减少解析所需的时间处理文件。

最佳答案

如果您已经拥有 XSD 文件,您可以将其加载到 Excel 中,然后将 Excel 设置为在您的文件中使用此架构。只需按照本指南 http://www.mrexcel.com/articles/using-xml-in-excel.php通过这种方式,您可以将 Excel 文件另存为 XML 数据,而这只是通过您的模式进行验证。

关于c# - 如何将模式包含在 xml 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com