如何从键盘获取 dtd 和 xml 文件?

Posted

技术标签:

【中文标题】如何从键盘获取 dtd 和 xml 文件?【英文标题】:How to get dtd and xml file from keyboard? 【发布时间】:2012-04-20 09:24:25 【问题描述】:

我正在做一些 xml 验证工具。所以我需要代码如何从键盘获取 dtd 和 xml 文件作为参数。我的代码如下。请给我提意见。我是java新手。

    public class ValidateXML
 
public static void main(String args[]) 
try
    File x = new File(args[0]);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new org.xml.sax.ErrorHandler() 
//To handle Fatal Errors
public void fatalError(SAXParseException exception)throws SAXException 
System.out.println("Line: " +exception.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nFatal Error: "+exception.getMessage());

//To handle Errors
public void error(SAXParseException e)throws SAXParseException 
System.out.println("Line: " +e.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nError: "+e.getMessage());

//To Handle warnings
public void warning(SAXParseException err)throws SAXParseException
System.out.println("Line: " +err.getLineNumber() + "\tColumn: "+e.getColumnNumber() + "\nWarning: "+err.getMessage());

);
Document xmlDocument = builder.parse(new FileInputStream(x));
System.out.println("execute!!");

catch (Exception e) 
System.out.println(e.getMessage());



【问题讨论】:

“来自键盘”是什么意思?你可以用键盘输入 xml/dtd,但我不认为这是你的问题...... 可能是命令行的意思...new File(args[0]) 感谢您的回复。我需要两个命令行输入作为 DTD 和 xml。 【参考方案1】:

供编译使用

javac ValidateXML.java

用于执行程序

 java ValidateXML <fileName>

我已经从你的程序中意识到了这一点,你接受 arg(0) 作为字符串,它是你文件的位置。

【讨论】:

您好,谢谢您的回复。我需要来自键盘输入(如参数)的 DTD 和 xml 文件。 如果是这种情况,请使用交互式,因为在 Windows 中命令行长度限制为 32767 个字符。查看此示例以了解交互式命令行输入:devdaily.com/java/edu/pj/pj010005 Phani,我想要准确的代码,如何使用命令行 dtd 文件和 xml 文件。 (例如:java ValidateXML dtdfile xmlfile) 我认为 *** 没有推广完整的代码,您尝试从互联网上找到它,如果遇到任何问题,请在此处复制。 phani 我的代码工作正常,但它只能在命令行中输入 xmlfile。我希望 dtdfile 和 xmlfile 都将输入作为命令行参数传递。因为我想选择哪个 dtd 将在这个 xmlfile 中运行。

以上是关于如何从键盘获取 dtd 和 xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

XML,DTD:如何使顺序不重要

eclipse如何在不联网的情况下引入dtd约束文件

java - 如何将本地DTD文件的验证应用于java中的xml文件?

xmllint:如何使用本地 DTD 文件验证 XML

如何在 xml 文件中定义 schematron 进行验证?

如何在 Python 中针对 DTD 文件验证 xml