Java 符号'#';在XML属性名中,produses DOMException

Java 符号'#';在XML属性名中,produses DOMException,java,xml,itext,Java,Xml,Itext,以下代码(使用iText库): 产生以下错误: org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.checkQName(CoreDocumentImpl.java:2571) at com.sun.org.apache.xerc

以下代码(使用iText库):

产生以下错误:

org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 
 at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.checkQName(CoreDocumentImpl.java:2571)
 at com.sun.org.apache.xerces.internal.dom.ElementNSImpl.setName(ElementNSImpl.java:117)
 at com.sun.org.apache.xerces.internal.dom.ElementNSImpl.<init>(ElementNSImpl.java:80)
 at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElementNS(CoreDocumentImpl.java:2084)
 at com.lowagie.text.pdf.XfaForm$Xml2SomDatasets.insertNode(Unknown Source)
 at com.lowagie.text.pdf.AcroFields.setField(Unknown Source)
 at com.lowagie.text.pdf.AcroFields.setField(Unknown Source)
org.w3c.dom.domeException:无效字符\错误:指定了无效或非法的XML字符。
在com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.checkQName(CoreDocumentImpl.java:2571)
位于com.sun.org.apache.xerces.internal.dom.ElementNSImpl.setName(ElementNSImpl.java:117)
位于com.sun.org.apache.xerces.internal.dom.ElementNSImpl.(ElementNSImpl.java:80)
位于com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.CreateElements(CoreDocumentImpl.java:2084)
位于com.lowagie.text.pdf.XfaForm$Xml2SomDatasets.insertNode(未知源)
位于com.lowagie.text.pdf.AcroFields.setField(未知来源)
位于com.lowagie.text.pdf.AcroFields.setField(未知来源)
显然,这是因为“#”登录字段名。此字段的名称来自AcroFields.getFields()集合,设置此值会产生错误,这似乎很奇怪

有没有办法在不更改实际字段名的情况下处理此错误?

更具体地说:

String name = "form1[0].#subform[0].Table1[0].#subformSet[0].Row[2].#field[0]"; 
form.setField(name.replace("#", "&#23;"), ""); 
String name = "form1[0].#subform[0].Table1[0].#subformSet[0].Row[2].#field[0]"; 
form.setField(name.replace("#", "&#23;"), "");