我对 XML 和 StaX 还很陌生。我需要使用 StaX 生成以下 XML 命名空间:
<?xml version="1.0" encoding="UTF-8"?>
<a xmlns="urn:blah blah"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:blah blah.xsd">
<other tags go here.../>
</a>
我尝试了很多方法,包括使用命名空间和 QName 对象以及 eventFactory.createStartElement,但我无法让“xsi:schemaLocation”行工作。
到目前为止我所拥有的是...
ArrayList<Namespace> nameSpaces = new ArrayList<>();
Namespace nameSpace2 = eventFactory.createNamespace("xsi",
"http://www.w3.org/2001/XMLSchema-instance");
Namespace nameSpace3 = eventFactory.createNamespace("xsi:schemaLocation",
"urn:blah.xsd");
Namespace nameSpace1 = eventFactory.createNamespace("urn:blah");
nameSpaces.add(nameSpace1);
nameSpaces.add(nameSpace2);
nameSpaces.add(nameSpace3);
StartElement startElement = eventFactory.createStartElement(new QName(
"a"), nameSpaces.iterator(), null);
eventWriter.add(startElement);
eventWriter.add(eventFactory.createDTD("\n"));
任何帮助将非常感激...
谢谢
拉斯