2012-06-21 2 views
0

У меня есть набор данных, полученных с помощью ASP.Net (VB.Net) на веб-страницу. Теперь я хочу экспортировать эти данные в XML. Я создал некоторый код для создания схемы, однако, я не знаю, что делать дальше. Я хочу, чтобы схема была согласована с данными XML, и я хотел бы, чтобы компилятор проверял, чтобы данные, которые я вводил для содержимого XML, проверялись на включенную схему. Кто-нибудь знает, как это сделать? Идея состоит в том, чтобы я мог открыть полученный файл в Excel с полями правильного типа..Net Inline Schema/XML Programmatic Generation for Excel

Я уже создавал документы XML, и это мой первый документ схемы, который я создал программно. Тем не менее, я никогда не работал с встроенной схемой, а тем более использовал их для строгого ввода XML-документа, добавляемого в документ.

Я прочитал над следующей, которые были весьма полезны, но ни один из которых был рассмотрен вопрос я упомянул выше:

http://www.aspfree.com/c/a/XML/Generating-XML-Schema-Dynamically-Using-VBNET-2005-Essentials/

http://blogs.msdn.com/b/kaevans/archive/2007/06/05/inline-an-xml-schema-into-your-xml-document.aspx

ответ

0

Я понятия не имею, что вы имеете в виду «... Я хотел бы, чтобы компилятор проверял, чтобы данные, которые я вводил для содержимого XML, проверяли на включенную схему».

Компилятор никогда не проверяет это. Если вы хотите проверить ваш XML-документ на схему программно, вы, вероятно, должны использовать http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschemavalidator.aspx.

Но для встраивания схемы с вашим документом вы сами ответили на свой вопрос. Второе звено в вашем вопросе - http://blogs.msdn.com/b/kaevans/archive/2007/06/05/inline-an-xml-schema-into-your-xml-document.aspx - это именно то, что вы пытаетесь сделать.

Вы можете представить встроенную XML-схему как документ внутри документа. Ну, используя пример Кирка, внешний документ больше представляет собой контейнер, который использует неопределенное пространство имен (без схемы). В его примере используется корень документа из «DerekDoc», который принадлежит неопределенному пространству имен. Вы можете назвать свое, что хотите.

Внутри этого корня находятся по существу два документа. Один из них - встроенная схема XML. Вы просто добавили бы его как дочерний элемент корня. Другой документ XML, который вы намереваетесь согласовать с XML-схемой. Вам нужно будет использовать атрибут xmlns, чтобы установить этот элемент в пространство имен, определенное вашей XML-схемой (целевое пространство имен схемы).

Это может работать (я не пробовал), чтобы установить корневой элемент в целевое пространство имен схемы, но может быть труднее для клиентов проверить документ, поскольку он является прямой ссылкой.

+0

Итак, вы сказали, что я должен сгенерировать документ с помощью встроенной схемы, а затем прочитать его, чтобы убедиться, что он проверяет? Кроме того, каждая комбинация из этого, что я пробовал, не открывается в Excel правильно; поэтому я чувствую, что что-то не хватает. – cjbarth

+0

Если это просто открытие в Excel, вы посмотрели http://stackoverflow.com/questions/1948799/generate-an-excel-xml-document-in-asp-net-mvc-web-site –

+0

Я думаю, вы может немного размывать линии. Вам нужно проверить документ XML, который вы создаете? Если это так, вы, вероятно, не будете проверять документ XML Schema, который вы встроили в этот XML-документ. На самом деле, я не совсем уверен, почему вы генерируете схему для начала. XML-схемы обычно используются для информирования * других людей * о том, как создать допустимый XML-документ. –