日期:2014-05-20  浏览次数:20632 次

为什么这个注册的方法就没有实现判断的逻辑问题,是否有高手指点一下怎么去修改或者给我一个新的代码要求实现注册的需求而且不能有重复的用户名存在,在线等待......
/**
* 注册类

* @param username
* @param password
*/

public Person doRegister(Person p) {
try {
// 创建解析器工厂对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// 由解析器工厂对象创建解析器对象
DocumentBuilder db = dbf.newDocumentBuilder();
// 由解析器对象指定xml文件进行解析,构建dom树,创建document对象;
Document doc = db
.parse("C:/Users/zhangpeng/workspace/Novel/src/com/bdqn/entity/TxtUser.xml");
// 得到所有<brand>节点列表信息
NodeList userList = doc.getElementsByTagName("User");
// 循环Brand信息
for (int i = 0; i < userList.getLength(); i++) {
Node User = userList.item(i);
// 获取第i个User元素的name属性的值并输出信息
Element element1 = (Element) User;
String userName = element1.getAttribute("name");
if (!(p.getUsername().equals(userName))) {
// 创建User节点
Element userElement = doc.createElement("User");
userElement.setAttribute("name", p.getUsername());
userElement.setAttribute("password", p.getPassword());
// 创建父子关系
Element element = (Element) doc.getElementsByTagName(
"UserInfo").item(0);
element.appendChild(userElement);
// 保存XML文件
TransformerFactory transformerfactory = TransformerFactory
.newInstance();
Transformer transformer = transformerfactory
.newTransformer();
DOMSource domSource = new DOMSource(doc);
// 设置编码类型
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
StreamResult streamResult = new StreamResult(
new FileOutputStream(
"C:/Users/zhangpeng/workspace/Novel/src/com/bdqn/entity/TxtUser.xml"));
// 把DOM数转换为XML文件
transformer.transform(domSource, streamResult);
System.out.println("添加成功");
return p;

} else {
System.out.println("用户存在");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

------解决方案--------------------
………… 围观 顺便亲切的建议一下:发代码用代码块,问问题先说清楚需求~