我无法从xsd生成xml后显示xsi:schemaLocation = http://example.com example.xsd。下面是我的xsd文件的示例。可能是什么问题?
示例XSD文件
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com" xmlns:xsi="http://example.com" elementFormDefault="qualified" xsi:schemaLocation="http://example.com example.xsd">
...
...
</xs:schema>
显示xml输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tag1 xmlns="http://example.com">
...
...
...
</tag1>
预期的xml输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tag1 xmlns="http://example.com" xsi:schemaLocation="http://example.com example.xsd">
...
...
...
</tag1>
答案 0 :(得分:1)
发现解决方案发布于: JAXB xsd to xml
答案由xcut提供。参数xsi:schemaLocation =&#34; http://example.com example.xsd&#34;必须使用
生成marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://example.com example.xsd");