使用JDOM时出现错误


  org.jdom2.input.JDOMParseException:第4行出现错误:cvc-elt.1:无法
  找到元素“ rootElement”的声明。


我有xsd menu.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema version="1.0"
           targetNamespace="http://www.w3schools.com/menu"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           xmlns="http://www.w3schools.com/menu"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:element name="rootElement"  type="xs:string"/>
</xs:schema>


和xml menu.xml

<?xml version="1.0"?>
<rootElement xmlns="http://www.w3schools.com/menu"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3schools.com/menu menu.xsd">
</rootElement>


使用

public class RunXml
{
    public static void main(String[] args) throws JDOMException, IOException
    {
        SAXBuilder builder = new SAXBuilder(XMLReaders.XSDVALIDATING);
        File    xml = new File("xml/menu.xml");
        InputStream inputStream = new FileInputStream(xml);
        Document document = builder.build(inputStream);
    }
}


接下来是文件。有什么问题?

最佳答案

它找不到xsd。
问题解决了:

File xsdfile = new File("xml/menu.xsd");
XMLReaderJDOMFactory schemafac = new XMLReaderXSDFactory(xsdfile);
SAXBuilder builder = new SAXBuilder(schemafac);

09-30 15:35
查看更多