JavaDOM解析器异常
我正在使用dom pasrer创建xml文档,其中标记名以数字开头。 这是一个例外。在java DOM解析器中,不允许标记名以数字开头 同样,它也可以在C#(网络)中使用System.Xml实现 有没有办法,我也能做到 以下是更多的程序和输出:JavaDOM解析器异常,java,dom,Java,Dom,我正在使用dom pasrer创建xml文档,其中标记名以数字开头。 这是一个例外。在java DOM解析器中,不允许标记名以数字开头 同样,它也可以在C#(网络)中使用System.Xml实现 有没有办法,我也能做到 以下是更多的程序和输出: import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfi
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class WriteXMLFile {
public static void main(String argv[]) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// root elements
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("company");
doc.appendChild(rootElement);
Element firstname = doc.createElement("1name");
firstname.appendChild(doc.createTextNode("yong"));
rootElement.appendChild(firstname);
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
}
}
例外情况:
Exception in thread "main" org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified.
at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElement(CoreDocumentImpl.java:618)
at com.impetus.avatar.WriteXMLFile.main(WriteXMLFile.java:25)
JavaDOM解析器拒绝这些标记是正确的 XML标记名不应以数字开头,但可以包含数字。该文件规定如下:
[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] |
[#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] |
[#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] |
[#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] |
[#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] |
#xB7 | [#x0300-#x036F] | [#x203F-#x2040]
[5] Name ::= NameStartChar (NameChar)*