В .Net есть способ программно сгенерировать DTD из существующего XML-файла?

StackOverflow https://stackoverflow.com/questions/216900

  •  03-07-2019
  •  | 
  •  

Вопрос

Я искал пространство имен System.Xml, но не вижу ничего, что могло бы это поддержать. Кто-нибудь знает, встроен ли он в .Net, или я должен был бы получить стороннюю библиотеку, чтобы сделать это?

ПРИМЕЧАНИЕ. Хотелось бы, чтобы это было так же просто, как создание xsd, но это не подходит для моей конкретной ситуации.

Это было полезно?

Решение

Это было бы очень легко сделать, но очень трудно сделать это полезным.

DTD - это грамматика. Тривиально создать грамматику, которая генерирует только данный файл XML, а не какой-либо другой. Это, конечно, бесполезно на практике. Вероятно, вам нужно создать грамматику, которая будет генерировать файлы «как этот», и это сложная проблема ИИ.

Изменить. Эта проблема известна как "Грамматическая индукция". или «Вывод грамматики».

Другие советы

Я не уверен насчет DTD, но вы можете генерировать XSD-файлы из XML-файла, используя Xsd.exe . Обычно он находится в следующем каталоге:

C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin \ xsd.exe

Хорошо, xsd.exe должен иметь возможность получить xsd. Со стороны dtd xmlpad3 заявляет, что может сделать это (и является бесплатным). Я не пробовал, поэтому я не могу ручаться за это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top