1

如何测试 xml 字符串以查看它是否针对 dtd 文件进行验证?

我读过这个问题,但他们只看到在谈论替换 xml 文件上的 dtd 声明。

人.DTD

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT person (id)>
<!ELEMENT id (#PCDATA)>

测试

@Test
public void should_serialize_a_shootout_to_xml_and_validate_against_a_dtd(){
    String xml = "<person><id>12</id></person>";        
    Assert.assertTrue(validate_xml("person.dtd",xml));
}

boolean validate_xml(String dtd_filename,String xml){
    //check xml and throw validation errors
    throw new NotImplementedException();
}

谢谢!

4

1 回答 1

1

稍后我可能会返回一些代码,但这是我脑海中浮现的过程:

  1. 用 StringReader 包裹字符串
  2. 创建验证 SAX 解析器
  3. 解析文件,让 SAX 处理程序跟踪错误实例的数量
  4. 零错误时有效
于 2009-07-24T13:56:15.947 回答