问题描述
String attr1 = "{http://www.w3.org/1999/xlink}xlink";
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLOutputFactory xof = XMLOutputFactory.newInstance();
XMLEventFactory ef = XMLEventFactory.newInstance();
XMLEventReader reader = factory.createXMLEventReader(new FileInputStream(path));
XMLEventWriter writer = xof.createXMLEventWriter(new FileOutputStream(path));
while (reader.hasNext()) {
XMLEvent event = (XMLEvent) reader.next();
if (event.isstartElement()) {
StartElement s = event.asstartElement();
Iterator<Attribute> iterator = event.asstartElement().getAttributes();
String tagName = s.getName().getLocalPart();
while (iterator.hasNext()) {
Attribute attribute = iterator.next();
String attributeValue = attribute.getValue();
String attributeName = attribute.getName().toString();
if (tagName.equals("Main")) {
if (attributeName.equals(attr1)) {
writer.add(ef.createAttribute(new QName(attr1),"aaa"));
}
}
}
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Main xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
// DATA //
</Main>
javax.xml.stream.XMLStreamException: Attribute not associated with any element
at java.xml/com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeAttribute
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)