下面的代码能够从表单中提取字段名称。
String fieldName = form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().getLocalName();
String str = form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().getTextContent();
String SiblingName = form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().getNextSibling().getLocalName();
String SiblingValue = form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().getNextSibling().getTextContent();
System.out.println("Field Name:"+fieldName);
System.out.println("Field Value:"+str);
System.out.println("Sibling Name:"+SiblingName);
System.out.println("Sibling Value:"+SiblingValue);
//Set the values back to form
form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().setTextContent("Updated: Content for First Field");
String updatedValue = form.getXfa().getDatasetsNode().getFirstChild().getFirstChild().getFirstChild().getTextContent();
System.out.println("Field Value:"+updatedValue);
我们可以看到正确的字段和值,我可以将值设置回表单。我没有尝试重新生成表单,但这会起作用。
这个用例适用于所有版本的itext(也适用于2.1.7)