在.Net中,有没有一种方法可以通过编程从现有的XML文件生成DTD?

3

我一直在查找System.Xml命名空间,但没有看到任何支持此功能的内容。有人知道它是否内置于.Net中,还是我需要获取第三方库来完成它?

注意:我希望它像生成xsd那样简单,但对于我的特定情况不适用。

3个回答

2

这很容易做到,但很难让它有用。

DTD是一种语法。生成一个仅生成给定XML文件而不生成其他任何内容的语法非常简单。当然,在实践中这是没有用处的。你可能需要创建一个可以生成“像这个”的文件的语法,这是一个困难的人工智能问题。

编辑:这个问题被称为“语法归纳”或“语法推断”。


0

我不确定DTD,但是您可以使用Xsd.exe工具从XML文件生成XSD文件。它通常位于以下目录中:

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


感谢你的回复,但我想要的是DTD。虽然我希望可以用XSD完成当前的任务,但客户明确要求使用DTD。 - Kilhoffer

0

好的,xsd.exe应该能够为您获取一个xsd。至于dtd方面,xmlpad3声称可以做到这一点(而且是免费的)。我没有尝试过,所以无法保证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接