早上好, 谁能帮助我? 线程“main”中的异常org.w3c.dom.DOMException:INVALID_CHARACTER_ERR:UncaractèreXMLnon valide ou non admis estindiqué。 at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElement(CoreDocumentImpl.java:622) 在TT.ReadXMLFile.main(ReadXMLFile.java:62) Java结果:1
代码来源:
public class ReadXMLFile {
public static void main(final String[] args) {
/*
* Etape 1 : récupération d'une instance de la classe "DocumentBuilderFactory"
*/
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
/*
* Etape 2 : création d'un parseur
*/
final DocumentBuilder builder = factory.newDocumentBuilder();
/*
* Etape 3 : création d'un Document
*/
final Document document= builder.newDocument();
/*
* Etape 4 : création de l'Element racine
*/
final Element racine = document.createElement("repertoire");
document.appendChild(racine);
/*
* Etape 7 : récupération des numéros de téléphone
*/
final Element telephones = document.createElement("telephones");
for(int i=0;i<2;i++){
final Element fixe = document.createElement(String.valueOf(i));
fixe.appendChild(document.createTextNode("01 02 03 04 05"));
telephones.appendChild(fixe);
}
racine.appendChild(telephones);
/*
* Etape 8 : affichage
*/
final TransformerFactory transformerFactory = TransformerFactory.newInstance();
final Transformer transformer = transformerFactory.newTransformer();
final DOMSource source = new DOMSource(document);
StringWriter outWriter = new StringWriter();
StreamResult result = new StreamResult(outWriter);
transformer.transform(source, result);
StringBuffer sb = outWriter.getBuffer();
String finalstring = sb.toString();
System.out.println(finalstring);
}
catch (final ParserConfigurationException e) {
e.printStackTrace();
}
catch (TransformerConfigurationException e) {
e.printStackTrace();
}
catch (TransformerException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
这就是它发生的地方:
for(int i=0;i<2;i++){
final Element fixe = document.createElement(String.valueOf(i));
这会导致调用
document.createElement( "0" );
带参数“0”,它不是有效的标签名称。
我不能建议改进,因为我不知道你想要创建什么XML格式;三次<???>01 02 03 04 05</???>
没有多大意义。