Как включить схему с xml
Когда я создаю XML-файл с помощью XmlSerializer
и пытаюсь открыть его в 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-файл.
- Отображение нескольких элементов XML в Excel
- Заголовки таблиц Excel XML с пробелами
- Excel в XML, когда XSD включает рекурсивные структуры в виде списка списков
- Импорт XML-схемы в Excel 2016: несколько файлов схемы
- Лучшая практика использования разных входных данных и генерация XML на основе того же XSD в .NET.
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 МБ, и для анализа данных требуется много времени, я надеюсь, что, предоставив схему, это может сократить время, затрачиваемое на обработку файла ,
- Как отлаживать «пространство имен по умолчанию для документа неверно» Ошибка анализа XML?
- Excel Interop XSD и XPath
- XSD-сопоставление в Excel для генерации многократных экземпляров XML-элементов
- Экспорт Excel в XML
- Как экспортировать данные из Excel в действительный Xml?
- Почему эта комбинация XML / XSD не экспортируется из Excel 2007?
- Коррекция XSD в XML?
- Как преобразовать этот тип листа Excel XLS в правильный XML?
Если у вас уже есть файл XSD, вы можете загрузить его в Excel, а затем установите Excel для использования этой схемы в файл. Просто следуйте этому руководству http://www.mrexcel.com/articles/using-xml-in-excel.php Таким образом вы можете сохранить файл Excel в виде XML-данных, и это просто подтверждается вашей схемой.
XML по своей природе является довольно подробным синтаксисом. Рассмотрите возможность записи в CSV напрямую или используйте XLSB через OLE. XLSB сохраняет собственное форматирование Excel, но представляет собой двоичный компактный формат, который быстро загружается.